Php 为什么这个1图像显示的次数是无限的?
这是一次又一次地显示相同的1图像。我有3组:婚礼,5分和杂项,每个有2张图片。它只显示无限次的一张图片的婚礼Php 为什么这个1图像显示的次数是无限的?,php,database,image,oop,mysqli,Php,Database,Image,Oop,Mysqli,这是一次又一次地显示相同的1图像。我有3组:婚礼,5分和杂项,每个有2张图片。它只显示无限次的一张图片的婚礼 我做错了什么?我该如何修复它?试试这个。。此解决方案将为您提供所需的布局 $pgroup = $Sys->db->query("SELECT dj_photo_group.photo_group, dj_photo.name FROM dj_photo_group, dj_photo WHERE dj_photo_group.photo_group = dj_photo.im
我做错了什么?我该如何修复它?试试这个。。此解决方案将为您提供所需的布局
$pgroup = $Sys->db->query("SELECT dj_photo_group.photo_group, dj_photo.name FROM dj_photo_group, dj_photo WHERE dj_photo_group.photo_group = dj_photo.img_group ORDER BY dj_photo.img_group DESC");
while($photo = $pgroup->fetch_object()) {
echo '<div class="photo_head">' . ucfirst($photo->photo_group) . '</div>';
echo '<div class="photo_sub">';
while($photo->name) {
echo '<img src="photogallery/' . $photo->photo_group . '/' . $photo->name . '" />';
}
echo '</div>';
}
$photo->name始终为true。因此,如果你在while循环中使用它,你本质上是说:
$pgroup1 = $Sys->db->query("SELECT dj_photo_group FROM photo_group GROUP BY dj_photo_group");
while ($photo1 = $pgroup1->fetch_object())
{
echo '<div class="photo_head">' . ucfirst($photo1->dj_photo_group) . '</div>';
echo '<div class="photo_sub">';
$pgroup2 = $Sys->db->query("SELECT name FROM dj_photo WHERE img_group = '$photo1->dj_photo_group'");
while ($photo2 = $pgroup2->fetch_object())
{
echo '<img src="photogallery/' . $photo1->dj_photo_group . '/' . $photo2->name . '" />';
}
echo '</div>';
}
记住,只要指定的条件为真,while循环就会继续运行
实际上,您应该使用if语句
while(true){
// do this
}
而$photo->name将重复,直到$photo->name为false。因为在循环中没有任何东西会改变它,它将永远是真的,因此循环将永远持续下去
正如Nishant所说,您希望用if语句替换它。而$photo->name进入无限循环,因为条件始终为true。您应该为这个while循环设置一个结束条件,否则您也可以使用if条件
if($photo->name){
// do this
}
因为$photo->name始终为true,所以您永远不会退出第二个while循环,这称为无限循环感谢所有回复。if仍然给我相同的结果。婚礼->2张图片,5分->2张图片和杂项->2张图片。这是把每个图像在一个单独的分区。婚礼,5分和杂项有2个图像,每个我得到6个分区,每个1个图像,我应该有3个分区婚礼,5分和杂项有2个图像显示在3个分区。希望我解释得更好一点。这让我非常恼火。谢谢大家。一些我需要如何获得1组婚礼,然后循环该组中的图像名称,然后一旦完成,我需要转到下一组5点,并显示该分区中的2个图像,依此类推。哦,好的。。我得到了它。。请检查我编辑的答案@用户3377300谢谢您的回复。此解决方案减少了对数据库的查询,如果其他人遇到此问题,此解决方案位于,谢谢大家的帮助!!!点击链接:p它的工作方式正是我想要的
if($photo->name)