Я пытаюсь создать систему комментариев на фотографиях.
Я понимаю, как использовать $ .getJSON, когда массив как это:
get.php:
$var = 5;
echo json_encode(array('var'=>$var));
main.php:
$.getJSON("get.php",function(data){
number = data.var; // number = 5
});
Но у меня более сложная вещь.
Мои комментарии таблица имеет следующие 4 колонки: идентификатор | photo_id | Комментарий | Дата
Для примера скажу, что мы пытаемся получить комментарий данные из фото с
photo_id == 1
.
Мы не знаем, сколько комментариев может быть.
В getcomments.php:
$photoid = 1;
$comment = mysqli_query($conn,"SELECT * FROM comments WHERE photo_id='$photoid'");
while($commentrow = $comment->fetch_assoc()) {
$comments[] = $commentrow;
}
Тогда вы закодировать:
echo json_encode($comments);
который печатает что-то вроде этого (фото есть 2 комментария):
[{"id":"1","photo_id":"1","comment":"text","date":"23858556"},{"id":"2","photo_id":"1","comment":"text","date":"23858561"}]
Как объявлять переменные для массива комментариев?
$.getJSON("getcomments.php",function(data){
// how do I declare variables for the comments array, especially since you don't know how many there might be?
});
Кроме того, у меня есть два JSon массивы, которые должны быть вторит в том же PHP-файл. то есть echo json_encode(array('img1'=>$img1link))
и echo json_encode($comments);
необходимо повторить в том же файле PHP, но это заставило код вообще перестать работать.
Если вы хотите, чтобы отобразить комментарии, которые вам нужно перебрать по массиву. Вы можете использовать для функции loop или forEach. – jcubic
Я думаю, вы имеете в виду 'main.js:'. – xinthose