PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (83): В начало « ... 68 69 70 71 [72] 73 74 75 76 ... » В конец

> Найдено сообщений: 1232
tuareg Отправлено: 08 Декабря, 2011 - 17:08:56 • Тема: расчет времени проведенного онлайн • Форум: SQL и Архитектура БД

Ответов: 22
Просмотров: 158
А в чем там проблема? Я не разбирался в нем но там же просто jQuery? Вы напишите что не получается? решим проблему
P.S я понимаю, что наверное это будет не совсем корректно, но все же есть форум http://www[dot]linkexchanger[dot]su/forum/ Там можно решить все эти проблемы.
tuareg Отправлено: 08 Декабря, 2011 - 15:30:44 • Тема: расчет времени проведенного онлайн • Форум: SQL и Архитектура БД

Ответов: 22
Просмотров: 158
Тут я еще немного подумал,
Смотрите
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT DATE_FORMAT(date,'%H') AS hours, duration FROM `users`
  3. WHERE `date` BETWEEN '$start' AND '$end'
  4. AND `user` = '$uid'
  5. ORDER BY `hours`/*Order by вообще не нужен,т.к мы все равно потом все пишем в массив*/
  6.  

Т.е мы избавимся от лишнего ORDER by(а это не самый сильный конек MySQL Улыбка)
(Добавление)
Да с моим ответом с array_key_exists так косяк , что нет count.
Кстати обычно рекомендуют выносить из цикла for подсчет количества, т.е вместо
PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0;$i<count($arr);$i++)
  3.  

писать
PHP:
скопировать код в буфер обмена
  1.  
  2. $count=count($arr);
  3. for($i=0;$i<$count;$i++)
  4.  

Это связано с тем что при каждом проходе цикла в первом варианте будет высчитываться count($arr)
tuareg Отправлено: 08 Декабря, 2011 - 15:23:35 • Тема: Как определить id элемента • Форум: JavaScript & VBScript

Ответов: 24
Просмотров: 8555
как то все сумбурно написано. Не очень понял
Но так на вскидку Ты нажал на стрелку вверх, запрос ушел, а на самой странице ни чего не поменялось???
Если так, то надо делать следующее, после нажатия на стрелку(отрабатывает скрипт сортировки) и после либо перегружать всю таблицу снова с сервера(самый простой вариант), либо пытаться с помощью jQuery перемещать строчки.

P.S В таких случаях сортировки я пользуюсь UI sortable

или опиши подробней: в стиле я нажал тут поменялось а здесь проблема.
tuareg Отправлено: 08 Декабря, 2011 - 11:35:39 • Тема: расчет времени проведенного онлайн • Форум: SQL и Архитектура БД

Ответов: 22
Просмотров: 158
Понятно. Итак если Вы делаете до какого-то часа то
А тут проще будет уже обрабатывать уже через PHP(любой другой язык).
Вот так вот примерно на php
PHP:
скопировать код в буфер обмена
  1.  
  2. $arrUsers=$array();
  3. while($result=mysql_fetch_array($query)){
  4.  $arrUsers[$result['hours']]=$result['duration'];/*сформировали новый массив время==>колич*/
  5. }
  6. $arrTime=$array(0,1,2);/*В этот массив записываем все интервалы*/
  7. /*$arrTime=$array('00:00','01:00'); может быть так*/
  8. for($i=0;$i<$arrTime;$i++){
  9.   if (array_key_exists($arrTime['i'],$arrUsers)){
  10.     echo $arrTime['i'].'--->>'.$arrUsers[$arrTime['i']].'</br>';
  11.   }
  12.   else{
  13.     echo $arrTime['i'].'--->>0</br>';
  14.   }
  15. }
  16.  

Логика следующая:
Сначала выдернул все из БД и сформировал массив, где ключ->время, значение-> количество $arrUsers
Сформировал массив из всех временных участков $arrTime
Начинаю перебор $arrTime
При переборе проверяю есть ли такой ключ в массиве $arrUsers
строчка if (array_key_exists($arrTime['i'],$arrUsers)){
если есть то вывожу время и количество
нет вывожу время и 0
tuareg Отправлено: 07 Декабря, 2011 - 12:21:56 • Тема: Как определить id элемента • Форум: JavaScript & VBScript

Ответов: 24
Просмотров: 8555
3d_killer пишет:
короч я так ниче и не понял как индефикатор записи один а действий несколько сделать...


Улыбка Я тут ничего сделать не могу....

Я написал Вам код. Попробуйте его скопировать подключить библиотеку jQuery 1.7.1, запустите его и посмотрите разбиритесь
tuareg Отправлено: 07 Декабря, 2011 - 11:35:55 • Тема: Как определить id элемента • Форум: JavaScript & VBScript

Ответов: 24
Просмотров: 8555
Пишу для jQuery 1.7.1 если версия < delegate вместо on
HTML
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <table id='таблица1'>
  3. <tr>
  4. <td class='razdel_td' data-id=".$result_list_menu['id'].">
  5. <img class='bottom Add' src='image/add.png'>
  6. <img  class='bottom Edit' src='image/edit.png'>
  7. <img  class='bottom Up' src='image/up.png'>
  8. <img  class='bottom Down' src='image/down.png'>
  9. <img  class='bottom Delete' src='image/delete.png'>
  10. </td>
  11. </tr>
  12. ....
  13. </table>
  14.  

По HTML: вместо <img> использовать div с background http://htmlbook[dot]ru/css/background
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function(){
  3.  var id;
  4.  $('#таблица1').
  5.    on('click','img.Add',null,function(){
  6.      id=$(this).parents('td.razdel_td').data('id');
  7.    }).
  8.    on('click','img.Edit',null,function(){
  9.      id=$(this).parents('td.razdel_td').data('id');
  10.    })
  11. });
  12.  

Или

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function(){
  3.  $('#таблица1').
  4.    on('click','img.Add,img.Edit, img.Up,img.Down,img.Delete',null,function(){
  5.      var thisImg=$(this),
  6.            id,
  7.            deistvie;
  8.            id=thisImg.parents('td.razdel_td').data('id');
  9.            deistvie=thisImg.attr('class').split(' ')[1];
  10.         if(deistvie==='Add'){ ....}
  11.         else if(deistvie==='Edit'){ ....}
  12.        и т.д
  13.    });
  14. });
  15.  

(Добавление)
Panoptik пишет:
ну если смотреть со стороны компактности кода - то согласен и благодарен за ответ.
хотелось бы добавить одно: а если вышеупомянутый код будет загружен аяксом, то обработчик в document.ready не сработает для загруженных элементов. Как быть тогда?

для jQuery
Есть delegate/live<1.7, on>1.7
tuareg Отправлено: 07 Декабря, 2011 - 11:21:57 • Тема: Как определить id элемента • Форум: JavaScript & VBScript

Ответов: 24
Просмотров: 8555
Panoptik пишет:
Цитата:
Нет не правильная.

можно аргументировать?

Да конечно. Только сразу прошу прощения, что не заумными словами.
Итак что получается:
1. В HTML разметке появляется лишний код. Зачем он нужен?
2. Вообще в таких случаях (таблица, список не важно) когда нужно повесить много одинаковых обработчиков(в Вашем примере если будет 20 строк onclick="add_before(<?=$i;?>); будет повешен 20 раз ) я стараюсь всегда использовать делегирование событий.
Опять же к 20 строчкам если повесить обработчик на <table> то будет один обработчик.

Более подробно и с примерами написано http://javascript[dot]ru/tutorial/events/intro
tuareg Отправлено: 07 Декабря, 2011 - 11:06:31 • Тема: Отправка формы через trigger('click'), когда кнопка submit disabled • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 2265
natariga пишет:
Просто click на кнопку с аттрубутами disabled - не срабатывает
по submit начинается валидация формы, а это лишнее в этом сценарии
Ваш порядок тоже пробовала, кнопка становится доступной, но click уже не действует. Только нажав теперь еще раз click происходит нужный переход
Ниндзя

Тогда сделайте так $("#updateCart").bind(или LIVE)('myClick',null,function(){
/*Код Вашего триггера*/
});

А в форме или где там ...
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $("#updateCart").removeAttr("disabled").trigger('myClick');
  3.  
tuareg Отправлено: 07 Декабря, 2011 - 11:02:14 • Тема: Как определить id элемента • Форум: JavaScript & VBScript

Ответов: 24
Просмотров: 8555
Вы используете jQuery? Если да то я Вам написал все. Не надо ни каких <a href> зачем они???
tuareg Отправлено: 07 Декабря, 2011 - 10:58:15 • Тема: Отправка формы через trigger('click'), когда кнопка submit disabled • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 2265
А просто click()? или submit()? не подойдет? И еще попробуйте
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $("#updateCart").removeAttr("disabled")
  3. $("#updateCart").trigger('click');
  4.  

Там порой бывают косяки после remove() он не возвращает ссылку на объект
tuareg Отправлено: 07 Декабря, 2011 - 10:51:57 • Тема: Как определить id элемента • Форум: JavaScript & VBScript

Ответов: 24
Просмотров: 8555
Нет не правильная.
tuareg Отправлено: 07 Декабря, 2011 - 10:44:06 • Тема: Как определить id элемента • Форум: JavaScript & VBScript

Ответов: 24
Просмотров: 8555
Как самый простой вариант каждой дописывайте картинке ее id лучше через data-id="1".
И при клике находите его и отправляйте
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <table>
  3. <tr data-id="1"><td>Картинка</td><td>Иконка</td></tr>
  4. </table>
  5.  

Тогда при клике
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('иконка').click(function(){
  3. var id=$(this).parents('tr').data('id')
  4. })
  5.  
tuareg Отправлено: 07 Декабря, 2011 - 01:14:59 • Тема: База данных и массив • Форум: Вопросы новичков

Ответов: 8
Просмотров: 397
PHP:
скопировать код в буфер обмена
  1.  
  2. $rez = ("<li><a class='cur' href='".$myrow['id_razdel']."'>  ".$myrow['menu']."</a>");
  3.  

Это не массив
PHP:
скопировать код в буфер обмена
  1.  
  2. $rez[] = "<li><a class='cur' href='".$myrow['id_razdel']."'>  ".$myrow['menu']."</a>";
  3.  

Вот так
tuareg Отправлено: 07 Декабря, 2011 - 00:07:40 • Тема: расчет времени проведенного онлайн • Форум: SQL и Архитектура БД

Ответов: 22
Просмотров: 158
Здравствуйте.
Структура следующая:
time user
0:00 111
1:00 111
1:00 222
2:00 111
2:00 222
3:00 111
3:00 222
3:00 333
Вот так. тогда запрос по пользователям:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT COUNT(*)*5 AS duration FROM `temp_table` GROUP BY `user`
  3.  

То что записей получится много (1200 при 100 активных круглосуточно не страшно, главное очищайте ее каждый день)
Да и еще смотрите если Вы будете делать SELECT всей таблицы типа
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. INSERT INTO $tbl (date, duration) SELECT DATE_FORMAT(date,'%Y-%m-%d %H') AS hours ...
  3.  

Тогда индексы вообще не нужны.
P.S Меня мучает такой вопрос уже 2 дня мучает Улыбка А как Вы график строить будете???
Ось ox-->время, а oy-->???
tuareg Отправлено: 06 Декабря, 2011 - 22:29:26 • Тема: расчет времени проведенного онлайн • Форум: SQL и Архитектура БД

Ответов: 22
Просмотров: 158
Я же Вам его обрисовал(решение)??? Делайте одну таблицу на сутки, в нее записывайте время и id пользователя. А потом уже выбирайте из нее все что надо.
Я не вижу какие могут быть проблемы

Страниц (83): В начало « ... 68 69 70 71 [72] 73 74 75 76 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB