【发布时间】:2016-07-10 14:09:46
【问题描述】:
好的,这是我设置的外循环。
$sql ="SELECT * from tblStock";
$result =mysqli_query($conn, $sql);
while($row=mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[]=$row;
}
foreach($rows as $ad) {
然后保持连接打开在这个循环内部,我有一部分需要从数据库中读取图像 url。
$sql ="SELECT url from Photos where itemId ='" . $ad['ItemID'] . "';";
echo $sql;
$imageresult=mysqli_query($conn, $sql);
while($imagerow=mysqli_fetch_array($imageresult, MYSQLI_ASSOC)) {
$imagerows[]=$imagerow;
}
我清空了将在新循环中使用的变量,以便它们对于每个新行都是干净的。
$image1="";
$image2="";
$image3="";
$count =0;
然后我用它来获取最多 3 个图片网址。
foreach($imagerows as $value) {
switch($count) {
case 2:
$image3=$value['url'];
$count =$count+1;
break;
case 1:
$image2=$value['url'];
$count =$count+1;
break;
case 0:
$image1=$value['url'];
$count =$count+1;
break;
}
}
这些值稍后将写入 $rows 中的选项卡文件中的新行,作为我在开始时设置的 $ad foreach。
我得到的是下面的内容,其中图片的内部 foreach 循环卡在 stock 表中的第一个项目上,并且在每次迭代时都没有从新的 $ad['ItemID'] 中读取。
【问题讨论】:
标签: php mysql arrays mysqli foreach