#php #javascript #jquery #ajax #json
#php #javascript #jquery #ajax #json
Вопрос:
Пытаюсь создать управляемый ajax список контактов с возможностью сортировки. Меню с 3 альтернативами должно по щелчку отображать новый список с обновленными данными.
Немного поискал, но не нашел никакой хорошей информации по этому поводу (насколько я понимаю, по крайней мере ..)
Это то, что заполняет мой список на данный момент. Я знаю, плохой выбор переменных..
<?php
if($c['ischeckedin'])
{
$checkedin='Check Out';
$checked='checkedin';}
else{
$checkedin='Check In';
$checked='';}
?>
<li id="<?php print $c['id']; ?>" class="clearfix gradient1 <?php print $checked; ?>">
<?php print $c['name']; ?>
<img src="options.png" class="options rounded3" alt="options" width="16" height="16" />
<?php if($c['ischeckedin']): ?>
<input
type="button"
class="button checkerout"
value="<?php print $checkedin; ?>"
name="<?php print $c['id']; ?>" />
<?php else: ?>
<input
type="button"
class="button checkerin"
value="<?php print $checkedin; ?>"
name="<?php print $c['id']; ?>" />
<?php endif; ?>
</li>
<?php endforeach; ?>
Итак, в основном это список контактов. Некоторые из них проверены, поэтому используются разные классы и кнопки. (Любые предложения по очистке более чем приветствуются!)
Но теперь мне нужно заполнить список через Ajax, поскольку мне нужно иметь возможность сортировать его. Итак, я отправляю еще немного данных вместе с вызовом, и мой php / mysql возвращает некоторые отфильтрованные данные.
<li>
— ID
должен быть идентификатор из базы данных. class
должно отличаться между ‘checkedin’ и » в зависимости от результата от mysql.
<input>
— class
должно быть ‘checkerin’ или ‘checkerout’ в зависимости от результата от mysql. name
должен быть идентификатор из базы данных.
Проблема в том, что мне делать с возвращенными данными из php -> ajax -> print?
И как мне перевести все эти неприятные if (), чтобы я мог различать проверенные и непроверенные контакты? Отредактируйте его перед возвратом?
Ответ №1:
Пусть php создаст данные в виде ассоциативного массива и вернет их ajax в виде строки json_encoded, затем просмотрите json и создайте свой список. Или вы могли бы заставить ajax вернуть уже созданную страницу и заполнить ваш div этой информацией, просто убедитесь, что вы установили опцию в вызове ajax, чтобы разрешить выполнение javascript, если вам это нужно.
Комментарии:
1. Php уже делает это. Я просто получаю массив в свою ajax-функцию, с которой я действительно не знаю, что делать. Кстати, как бы мне предварительно заполнить список?