Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подгрузка данных БД AJAX'ом [2]

 PHP.SU

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


 Страниц (3): « 1 [2] 3 »   

> Без описания
maragon
Отправлено: 04 Августа, 2012 - 00:19:35
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




А по поводу моих мыслей про 2 файла? рассудите пж-ста.


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
KingStar
Отправлено: 04 Августа, 2012 - 00:37:57
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




ИМХО, я бы сделал так

при клике по кнопке "Показать еще 5 записей" удалял бы ее, и делал ajax-запрос к файлу php,

в нем подсчитал все что мне нужно, применил логику, и если есть для вывода еще записи - выводил записи и ниже сообщений вставил новую кнопку,

при клике она снова пропадает, добавляются еще сообщения и снова если есть для вывода сообшения - снова кнопка

и так, пока в БД не останется для вывода сообщений

(Добавление)
еще как вариант, если записей планируется много, вполне можно реализовать подгрузку по мере прокрутки странчки

(Отредактировано автором: 04 Августа, 2012 - 00:40:05)



-----
То что программа работает, не означает что она написана правильно!
 
 Top
maragon
Отправлено: 04 Августа, 2012 - 00:40:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




А можно хоть какой-то пример. Наглядно хоть.. в голове каша, + малое знание языка. Огорчение
"при клике по кнопке "Показать еще 5 записей" удалял бы ее - что подразумевается под словом "удалял бы ее"?

(Отредактировано автором: 04 Августа, 2012 - 00:41:52)



-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
KingStar
Отправлено: 04 Августа, 2012 - 00:42:28
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




у меня за сегодня каши не меньше, Однако лучше спроси что конкретно не ясно
(Добавление)
maragon пишет:
"при клике по кнопке "Показать еще 5 записей" удалял бы ее - что подразумевается под словом "удалял бы ее"?


посредством JS удалить кнопку


-----
То что программа работает, не означает что она написана правильно!
 
 Top
maragon
Отправлено: 04 Августа, 2012 - 00:44:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




KingStar пишет:
у меня за сегодня каши не меньше, Однако лучше спроси что конкретно не ясно
(Добавление)
maragon пишет:
"при клике по кнопке "Показать еще 5 записей" удалял бы ее - что подразумевается под словом "удалял бы ее"?


посредством JS удалить кнопку

по русски - "спрятать"? Хм


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
KingStar
Отправлено: 04 Августа, 2012 - 00:45:36
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




по русски - удалить ))), не просто display='none', а удалить Не понял
(Добавление)
http://jquery-docs[dot]ru/Manipulation/


-----
То что программа работает, не означает что она написана правильно!
 
 Top
maragon
Отправлено: 04 Августа, 2012 - 00:48:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




KingStar пишет:
ИМХО, я бы сделал так

при клике по кнопке "Показать еще 5 записей" удалял бы ее, и делал ajax-запрос к файлу php,

в нем подсчитал все что мне нужно, применил логику, и если есть для вывода еще записи - выводил записи и ниже сообщений вставил новую кнопку,

при клике она снова пропадает, добавляются еще сообщения и снова если есть для вывода сообшения - снова кнопка

и так, пока в БД не останется для вывода сообщений

(Добавление)
еще как вариант, если записей планируется много, вполне можно реализовать подгрузку по мере прокрутки странчки


1. Отправляем в php запрос с id пользователя - смотрим сообщения \ кол-во
2. Если кол < 5, выводим смс без кнопки, иначе (sms > 5) светим кнопку.
3. При клике на нее (удаляем ее) "добавляются еще сообщения" - 2й get запрос?
4. Мыслим логично, узнаем оставшиеся смс, если < 5 светим и их..
(Добавление)
KingStar пишет:
по русски - удалить ))), не просто display='none', а удалить Не понял
(Добавление)
http://jquery-docs[dot]ru/Manipulation/

А почему именно удалить а не спрятать? Хм


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
KingStar
Отправлено: 04 Августа, 2012 - 00:55:23
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




3. При клике на нее (удаляем ее) в это время по клику у тебя уже пойдет ajax запрос снова к файлу php, там обрабатываешь запрос, и если помимо новых 5-ти сообщений есть в БД еще незатронутые сообщения - добавляешь в этом же php кнопку, и эти 5 сообщений выводишь вместе с кнопкой


-----
То что программа работает, не означает что она написана правильно!
 
 Top
maragon
Отправлено: 04 Августа, 2012 - 01:11:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




добавляешь в этом же php кнопку
Ради интереса сделал так:
В Индексе:
CODE (javascript):
скопировать код в буфер обмена
  1.  $("#show_more").click(function(){
  2. alert(1);
  3. });

В пхп - <div id="show_more"> click </div>, 0 эмоций. Что-то не так?


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
KingStar
Отправлено: 04 Августа, 2012 - 01:18:45
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




echo "<div id="show_more"> click </div>"; или покажи php


-----
То что программа работает, не означает что она написана правильно!
 
 Top
maragon
Отправлено: 04 Августа, 2012 - 01:23:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




PHP:
скопировать код в буфер обмена
  1.  $id = $_GET['id'];
  2. if ($id !="") {
  3. //db cfg
  4. $query = mysql_query("SELECT * FROM `gbook` WHERE wid = $id LIMIT 0, 5");
  5.  if ($query ) {
  6.     $out = "";
  7.    while ($row = mysql_fetch_assoc($query )) {
  8.    $msg = $row['msg'];
  9.    $msg = iconv( 'windows-1251', 'utf-8', $msg) ;
  10.    $outrow = "<div class='row_one'><span class='date'>".$msg."</span></div>";
  11.    $out .= $outrow;
  12.    }
  13.    echo $out;
  14.    echo "<div id='show_more'>----</div>";
  15.  }
  16. }


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
KingStar
Отправлено: 04 Августа, 2012 - 01:28:19
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




все правильно, ошибок не вижу

скорее всего у тебя он просто display: none
(Добавление)
хотя что я говорю, ты же с помощью alert выводишь
(Добавление)
0 эмоций - т.е. нет окошка alert, или нет в коде алерта кнопки???


-----
То что программа работает, не означает что она написана правильно!
 
 Top
maragon
Отправлено: 04 Августа, 2012 - 01:44:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Див сам-то вылез, alert() не светит при клике.


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
KingStar
Отправлено: 04 Августа, 2012 - 01:52:12
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




maragon пишет:
Див сам-то вылез, alert() не светит при клике.


не светит потому что воспринимает некоторые символы как за ошибочные, пропусти и не обращай пока внимания, заполняй блоки и работай с готовым результатом, alert не всегда помощник при отладке


-----
То что программа работает, не означает что она написана правильно!
 
 Top
tuareg
Отправлено: 04 Августа, 2012 - 05:36:48
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Мозги парите сами себе и людям. Улыбка
К примеру, у Вас 20 сообщений==> $countMessage=20;
Этот HTML генерировать при загрузке страницы
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div id="showme" data-countMes="<?echo $countMessage?>">Показать еще 5 записей</div>
  3. <div id="bigblock"></div>
  4.  

Ну и код js
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function(){
  3.    var  $elem=$('#showme'),//сразу запомнили элемент
  4.           $message=$('.row_one'),// сразу запомним дивы с сообщениями
  5.           $bigblock=$('#bigblock'),
  6.          dataMessage=$elem.data(),
  7.          countMessage=dataMessage['countMes'],//выяснили сколько всего сообщений
  8.          tecMessage=$message.length;// выяснили сколько вывели сообщений
  9.    $elem
  10.       .on('myHides',null,function(){
  11.            if(countMessage==tecMessage){
  12.              $elem.hide();
  13.            }
  14.            else{
  15.              $elem.show();
  16.            }
  17.       })
  18.       .trigger('myHides')
  19.       .click(function(){
  20.          /*ajax запрос на следующие лучше сделать JSON формат json смотри ниже*/
  21.          $.getJSON(.....{shown:tecMessage},function(json){
  22.             countMessage=json.counts;
  23.             $bigblock.append(json.html);
  24.             tecMessage=$message.length;
  25.             $elem.trigger('myHides');
  26.          });
  27.    });
  28.    /*Можно повесить setTimeout рекурсивный секунд на5-10, чтобы при появлении нивых сообщений показывать $('#showme')*/
  29. });
  30.  

Ну и php
PHP:
скопировать код в буфер обмена
  1.  
  2. /*Тут запрос первый количество сообщений мало ли оно изменится :)
  3.    Второй вывод по LIMIT */
  4. echo json_encode(array('counts'=>сколько всего,'html'=>html с сообщениями));
  5.  

Как-то так
P.S Вариант с удалением div-a с id="showme" это бред!!!

(Отредактировано автором: 04 Августа, 2012 - 07:52:29)

 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB