dim137
@dim137
python, django, linux

Как добавить данные в таблицу при ajax запросе?

Всем привет! На сайте имеется таблица с пятью колонками, раньше выводил данные через цикл "while ($r=mysql_fetch_assoc($query))" и вставлял необходимые данные в определенные html теги. Сейчас делаю запросы через ajax и не могу сообразить, как вставлять их в таблицу. Делаю так, в php скрипте запрашиваю данные и отдаю их jquery
while ($r = mysql_fetch_assoc($query)) {
		echo json_encode($r);
}

Вопрос заключается в том, как все, полученные данные, добавить в таблицу. На счет того, что API MySQL устарело в курсе.
  • Вопрос задан
  • 1997 просмотров
Решения вопроса 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
function while_fetch_assoc($res)
{
	$rows = [];
	while($row = mysql_fetch_assoc($res)){
		$rows[] = $row;
	}
	return $rows;
}
$rows = while_fetch_assoc($query);
echo json_encode($rows);
exit(true);


Js
$.ajax({
		type: 'post', dataType: 'json',
		url: '/get_table.php',
		data: {} 
	}).done(function(data){

		$.each(data,function(key,item){
		var $row = $('<tr><tr>'); // создаем tr
		  $('.table tbody')append($row);
		console.log(item);
		// АF12 смотрим что в консоле прешло
	});
});


1 Не ленитесь создавать для себя хелпер функции
2 Отказывайтесь от mysql_*
3 Создавать полностью на JS tr td утомительно делайте это на сервере

<?php
	$rows = array();
	while($row = mysql_fetch_assoc($res)){

		$rows[] =<<<TRHTML
		<tr>
			 <td>{$row['id']}</td>
			 <td>{$row['name']}</td>
		</tr>
TRHTML;
	}

В js вставить в таблицу
$.each(data,function(key,item){
		$('.table')append(item);
	});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@IceJOKER
Web/Android developer
сначала пробежитесь в цилке по всем элементам и соберите все в один массив.
После цикла пишите die(json_encode($elements));
Далее нужно просто преобразовать полученные данные в JSON и пройтись в цикле по всем элементам
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы