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 :: Дозапись данных в таблицу

 PHP.SU

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


 Страниц (1): [1]   

> Без описания
Dark_Knight
Отправлено: 24 Апреля, 2014 - 14:25:20
Post Id


Новичок


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


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




Доброго времени суток. У меня есть блок с таблицей в которую заносится 30 записей с БД при загрузке страницы. После того как пользователь дошел до конца страницы подгружается еще 10 записей при помощи javascript(или через jQuery. В этом полный нуб), но столкнулся с проблемой, что подзагрузка данных не идет в таблицу. Как сделать запись загруженных в данных в готовую таблицу?
Кусок кода блока отображения таблицы
PHP:
скопировать код в буфер обмена
  1. <div class="10u" id="playerinfo">
  2. <center><h2 style ="color: rgb(255,255,255);">Статистика игроков</h2><center>
  3. <table class = "td_cp" border="0" cellpadding="4" cellspacing="0" >
  4. <tr><td width="10%" align="center" valign="center">Место</td>                                                   <td width="20%" align="center" valign="center">Никнейм</td>                                                     <td width="15%" align="center" valign="center">Убийства</td>                                                    <td width="10%" align="center" valign="center">Cмерти</td>                                                      <td width="10%" align="center" valign="center">Урон</td>                                                        <td width="10%" align="center" valign="center">Ратио</td>                                                       <td width="25%" align="center" valign="center">Ранг</td>                                                        </tr>
  5. <?PHP $place = 0; foreach ($Statistics as $Statistic):
  6. $place ++;
  7. echo '<tr><td width="10%" align="center" valign="center">'.$place.'</td><td width="20%" align="center" valign="center">'.$Statistic['Nickname'].'</td><td width="15%" align="center" valign="center">'.$Statistic['Kills'].'</td><td width="10%" align="center" valign="center">'.$Statistic['Deaths'].'</td><td width="10%" align="center" valign="center">'.$Statistic['Damage'].'</td><td width="10%" align="center" valign="center">'.$Statistic['Ratio'].'</td><td width="25%" align="center" valign="center">'.$Statistic['Rang'].'</td></tr>';
  8. endforeach; ?>
  9. </table>
  10. </div>

Код подзагрузки новых записей
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2. var inProgress = false;
  3. var startFrom = 10;
  4.     $(window).scroll(function() {
  5.         if($(window).scrollTop() + $(window).height() >= $(document).height() && !inProgress) {
  6.                    
  7.         $.ajax({            
  8.             url: 'load_player_info.php',
  9.             method: 'POST',
  10.             data: {"startFrom" : startFrom},
  11.             beforeSend: function() {
  12.             inProgress = true;}      
  13.             }).done(function(data){
  14.             data = jQuery.parseJSON(data);
  15.             if (data.length > 0) {                
  16.             $.each(data, function(index, data){
  17.             $("#playerinfo").append('<tr><td>' + data.Nickname + "</td><td>" + data.Kills + "</td><td>" + data.Deaths + "</td><td>" + data.Damage + "</td><td>" + data.Ratio + "</td><td>" + data.Rang + "</td></tr>");
  18.             });
  19.             inProgress = false;
  20.             startFrom += 10;
  21.             }});  
  22.         }
  23.     });
  24. });
 
 Top
keysi_
Отправлено: 24 Апреля, 2014 - 21:59:57
Post Id



Новичок


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


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




Учёные доказали что "Человек в принципе не способен решать сложные задачи", а вы ещё и jQuery всё усложняете.

Начните с простого, сделайте маленькую табличку на html и к ней маленький скрипт на чистом JavaScript, который будет делать +1 строчку в таблицу. jQuery добавите только на последнем этапе, так как он упрощает реализацию задачи (кроссбраузерность) и добавляет красявостей, но совершенно не помогает в понимании проблемы.

Касательно самой проблемы, я думаю вам должен помочь метод insertRow() и другие функции для работы с DOM элементами таблицы. Я сам не очень хорошо это помню, вам лучше всего посмотреть про это на javascript ру , там очень хороший справочник. Здесь в основном вопросы по PHP.
 
 Top
Dark_Knight
Отправлено: 25 Апреля, 2014 - 14:28:23
Post Id


Новичок


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


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




Разобрался методом научного тыка пальцем в небо. Перенес ид с дива в таблицу и все заработало.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB