【发布时间】:2016-01-13 15:47:20
【问题描述】:
在 php 中使用 foreach 循环我试图从数据库中检索数据。这个想法是使用 foreach 循环从数据库中显示数据,例如标题,以便将数据放入对象/div中。
我正在使用 mysql 查询来获取数据:
$db = new mysqli('localhost', 'username', 'password', 'database');
$postQuery = $db->query("
SELECT
posts.id,
posts.title
FROM posts
GROUP BY posts.id
");
while($row = $postQuery->fetch_object()){
$posts[] = $row;
}
然后我使用 foreach 循环显示数据:
<?php foreach($posts as $post): ?>
<div><?php echo $post->title; ?>
etc.
</div>
<?php endforeach; ?>
似乎一切正常,除非我尝试在 mysql 查询中使用 posts.id 来检查数据库中具有相应 post.id 的表的内容。有没有办法检索 id 以在查询或 php 函数中使用它?
【问题讨论】:
-
$post->id;是您要查找的内容,这仅在foreach循环内有效。 -
感谢您的回答,但我知道这一点。关键是 $post->id 由于某种原因在 foreach 之外不起作用。
-
这取决于您要查找的内容。这不起作用,因为您在
while循环中创建了一个数组,而不是在foreach中使用它。 -
所以假设我想使用像 $test 这样的变量来引用循环外的查询,它试图使用 post->id 来查看数据库中是否有id 和另一列。这可能吗?
-
Shadow 在他的回答中提到,您可以使用
$posts[x]->id,其中x是您可以用来识别的元素。