Возвращает массив php в jquery ajax и заполняет список. С помощью некоторых функций if()

#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-функцию, с которой я действительно не знаю, что делать. Кстати, как бы мне предварительно заполнить список?