Обновление таблицы с помощью AJAX с циклом
Я довольно новичок в Javascript, и в частности в Ajax, так что потерпите меня...
Я хочу обновить таблицу после вставки новой строки, но вместо того, чтобы Ajax выводил всю таблицу html вместе, я бы предпочел собрать все данные из PHP mysql и вставить их в уже существующую таблицу с циклом.
Вот как я обычно делаю это с помощью PHP и функции while()
, чтобы я мог вставлять различные части данных с помощью массива. Например, для "$mem['Name']"
$mems = mysql_query($sql,$con);
while($mem=mysql_fetch_array($mems)){
$lmc++;
echo '<tr class="data">';
echo '<td class="index">'.$lmc.'</td>';
echo '<td class="name">'.$mem['Name'].'</td>';
echo '<td class="arcid">'.$mem['ArcID'].'</td>';
echo '<td class="type">'.$mem['Type'].'</td>';
echo '<td class="role">';
echo '<input style="width:100%;" type="text" name="art_realname" id="art_realname" class="field" value="'.$mem['Role'].'" tabindex="1" />';
echo '</td>';
echo '</tr>';
};
Есть ли какой-либо способ использовать AJAX, чтобы я мог сначала собрать все данные в PHP-файле и поместить их в массив, затем, во-вторых, отправить их обратно в AJAX, а затем, наконец, выполнить раздел цикла с использованием Javascript на фактической странице и вставить его в таблицы там?
1 answers
Для этого решения требуется jQuery, но вы можете использовать любую JS-фреймворк/библиотеку.
Кроме того, вы должны знать, что использование функций mysql_*
- плохая идея, так как они скоро устареют.
Теперь давайте предположим, что у вас на сервере есть скрипт с именем ajax.php
. Вы должны выполнять запросы к своей базе данных так же, как и всегда, но вместо echo
ввода - введите переменную.
<?php
/* your script here */
$data = ... /* data your query returned */
header ("Content-Type: application/json" );
echo json_encode ($data);
?>
Затем на стороне клиента:
$.getJSON ( "ajax.php", function (data) {
/* data is the $data from your PHP script */
});
Ты не идиот :)