gpt4 book ai didi

php - foreach 内部的 foreach 只显示一个结果

转载 作者:行者123 更新时间:2023-11-29 18:23:58 28 4
gpt4 key购买 nike

$con=mysqli_connect("localhost","root","","database");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
error_reporting(E_ALL ^ E_NOTICE);
$query = "SELECT * FROM TT_posts WHERE post_status='publish' AND
ping_status='open'";
$result = $con->query($query);
while($row1 = $result->fetch_assoc())
foreach ($result as $row1){

$image = "SELECT * FROM TT_posts WHERE post_title='$row1[post_name]'";
$result1 = $con->query($image);
while($row2 = $result1->fetch_assoc())
foreach ($result1 as $row2){
echo "<img src='".$row2[guid]."'>";
echo "<p>".$row1[post_title]."</p>";
}}
?>

实际上,下面的查询返回 8 个结果。

$query = "SELECT * FROM TT_posts WHERE post_status='publish' AND 
ping_status='open'";

当它执行循环时,它会在第一个结果处停止。我不知道到底是什么阻止了代码。

最佳答案

我认为您的变量名称混淆了。您的第一个 while 将一行分配给 $row1,然后您的 foreach 引用 $result,而不是 $row1 。变量 $row1 实际上在每次围绕 foreach 循环时都会被覆盖。

您实际上不需要 foreach:

while ($row1 = $result->fetch_assoc()) {
$image = "SELECT * FROM TT_posts WHERE post_title='$row1[post_name]'";
$result1 = $con->query($image);
while ($row2 = $result1->fetch_assoc()) {
echo "<img src='".$row2[guid]."'>";
echo "<p>".$row1[post_title]."</p>";
}
}

关于php - foreach 内部的 foreach 只显示一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46346537/

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