gpt4 book ai didi

php - 需要更具体的 PHP While 循环来查询 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 14:01:40 26 4
gpt4 key购买 nike

我正在查询数据库并显示数据。我有一个时间戳和一个 Facebook ID,用于显示用户的个人资料图片(使用 Facebook 图表)。不过,这更像是一个 PHP/Loop 问题,而不是 FB Graph 问题。这是我正在编写的代码:

$sql = "SELECT * FROM fb_id ORDER BY timestamp DESC";
$result = $mysqli->query($sql);

echo "<h1>".$lastone_month." ".$year_lastone."</h1>";
while($row = mysqli_fetch_array($result)){
$fb_id = $row['fb_id'];
$timestamp = date_parse($row['timestamp']);
$month = $timestamp['month'];
$year = $timestamp['year'];
echo "<a href='http://www.facebook.com/".$fb_id."' target='_blank'><img src='http://graph.facebook.com/".$fb_id."/picture/' /></a>";
}

本质上,我正在回显最近一个月的情况(这是之前的一些代码)。 $lastone_month 是一个数字(它是最近注册的用户的月份数字)。假设现在是一月,那么 h1 将显示 1/2013。然后,我让 while 循环遍历数据库并按时间戳顺序回显用户的个人资料图片。我希望它做的是运行 while 循环,直到到达 $month 不等于 $lastone_month 的行。

我无法在 while 循环中使用 "&& $month==$lastone_month ,因为此时 $month 值尚未声明。我在 echo 行周围尝试了一个 if 语句,但这导致它无限地显示一个条目。我尝试在 while 循环之前声明 row,然后在那里也声明 $month 和 $year,然后运行循环,但这也不起作用。我认为这是一个非常简单的解决方案,但我无法弄清楚它是什么。任何帮助将不胜感激。非常感谢!

最佳答案

您可以使用 break 随时退出循环:

while ($row = mysqli_fetch_array ($result))
{
...
$month = $timestamp ['month'];
if ($month != $lastone_month) break;
...
}

但更有效的是在 SQL 查询中使用 WHERE:

$sql = "SELECT * FROM fb_id WHERE MONTH(timestamp)='$lastone_month' ORDER BY timestamp DESC";

关于php - 需要更具体的 PHP While 循环来查询 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14976042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com