选择表中的多行

时间:2015-05-13 11:31:54

标签: php mysql

Example table "comments"

我需要根据photo_id选择多条评论(如果有的话)。据我所知,你可以使用WHERE子句,但我不确定如何选择多个并将它们存储在某种数组中?

e.g。

$result = mysqli_query($conn,"SELECT * FROM comments WHERE photo_id='$photo1id'");
$row = $result->fetch_assoc(); // but there's more than 1 row

如果例如$photo1id == 21,我如何获得所有评论(在这种情况下为2)?某种while循环?

在PHP文件的末尾我有这个:

echo json_encode(array('photo1id'=>$photo1id));

我需要以某种方式存储该数组中的每一行,因为我需要使用$ .getJSON在另一个PHP文件中检索数据。或者也许有更好的解决方案。

3 个答案:

答案 0 :(得分:1)

Loop通过它并生成array -

while($row = $result->fetch_assoc()) {
    $comments[] = $row;
}

之后,您可以将数组作为json发送。

echo json_encode($comments);

答案 1 :(得分:0)

是否有更多行,您需要使用循环。

while ($row = $result->fetch_assoc()) {
    // your code here
}

答案 2 :(得分:0)

尝试以下代码:

//Run query
$result = mysqli_query($conn,"SELECT * FROM comments WHERE photo_id='$photo1id'");

//While there is a result, fetch it
while($row = $result->fetch_assoc()) {
    //Do what you need to do with the comment
}

如果您不想立即打印代码,可以创建一个数组:

$x=0;
while($row = $result->fetch_assoc()) {
    $comment[$x]=$row['comment'];
    $x++;
}