Вернуть массив php в jquery ajax и заполнить список. С некоторыми if () - PullRequest
0 голосов
/ 19 мая 2011

Попытка создать сортируемый список контактов, управляемый 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?

И как мне перевести все эти мерзости, если (), чтобы я мог иметь значение среди проверенных и непроверенных контактов? Изменить его перед возвратом?

1 Ответ

0 голосов
/ 19 мая 2011

Позвольте php создать данные в виде ассоциативного массива и вернуть их в ajax в виде строки json_encoded, затем пройтись по json и создать свой список. Или вы можете сделать так, чтобы ajax возвращал уже созданную страницу и заполнял ваш div этой информацией, просто убедитесь, что вы установили опцию в вызове ajax, чтобы позволить javascript выполняться, если вам это нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...