php
  • codeigniter
  • jquery
  • 2012-07-03 4 views 0 likes 
    0

    Я использую Ajax в рамках CodeIgniter, чтобы ввести данные в предопределенный (с полки) таблицы с помощью кода, как это ...оптимальное отображение табличных данных с использованием Ajax

    foreach ($this->results['rawData'] as $item){ 
          $str.="<tr onclick='document.location ='#'>"; // link to view record 
    
          $str.='<td class="record-company-name"><input type="checkbox"></td>'; 
          $str.="<td>".$item->companyname."</td>"; 
          $str.="<td>".$item->city."</td>"; 
          $str.="<td>".$item->postcode."</td>"; 
    
    .... 
    
          $str.="</tr>"; 
         } 
    echo $str; 
    

    В таблице также JQuery связанный с ним, который предлагает разбиение на страницы и сортировку данных, нажав на заголовки таблицы. Для 1000 строк все хорошо, но для этого оно медленное, а для> 5000 я получаю предупреждение обозревателя, чтобы выйти из сценария. Данные не сильно меняются.

    Проблема в том, что ВСЕ данные вводятся в таблицу сразу, и это слишком много для обработки jquery.

    Каков наилучший способ улучшить эту ситуацию, введя только 1000 записей каждый раз, когда в сочетании с разбиением на страницы. Является ли класс разбивки CI вместе с memcache хорошим способом?

    Уверен, что это обычная проблема. Каковы наилучшие решения этой проблемы?

    Все предложения приветствуются.

    ответ

    0

    Я сам не пробовал frameworkignign framework, но конкатенация строк (которую вы используете) обычно плохо для производительности на большинстве языков. Может быть, вам следует использовать другой подход, например, использовать шаблоны JQuery?

    0

    Итак, путем инъекции вы имеете в виду отображение справа? Даже если бы это было быстрее на заднем плане, подумайте о пользователе. Вы загружаете сразу 5000 строк. Как насчет просто загрузки отображаемого?

    Для этого можно использовать CI's pagination. Что касается сортировки данных, вы можете просто использовать класс активной записи CI $this->db->order_by(); Если это работает хорошо, вы можете AJAX-ify все это, если это все еще необходимо.

    Надеюсь, это поможет. Сообщите нам, если вам нужна дополнительная помощь.

    0

    Вы можете попробовать попробовать jQuery Grid. Он должен решить эту проблему, а также предлагает множество дополнительных функций для табличных данных.

    Смежные вопросы