在PHP嵌套循环中渲染项目

问题描述 投票:0回答:1

我在PHP中呈现一个页面,显示了几个项目,每个项目都有许多图像。这里的问题是让脚本为每个项目呈现确切数量的图像。

我使用过嵌套循环,但这对我来说似乎没有用。在这里:

<?php 
for ($k = 0; $k < $itemsnumber; $k++){ 
    $itemresresult = mysqli_query($dbconn, "SELECT * FROM 
                                            `item_resource` 
                                            WHERE i_itemnumber = ".$k.";");                                                                
    while($res = $itemresresult->fetch_assoc()){
     ...render images
    }
}
?>

我希望它只渲染与第一个循环的k增量相关的图像,但是,它将使用i_itemnumber = 1,2等渲染所有图像。

php sql loops
1个回答
-1
投票

你应该做这样的事情:

$items = [
    ["id"=>1, 'name' => "first item"],
    ["id"=>2, 'name' => "second item"],
    ["id"=>3, 'name' => "third item"]
];

    echo '<ul>';
    foreach ($items as $item){
       echo '<li>' . $item['name'];
       $itemresresult = mysqli_query($dbconn, "SELECT * FROM 
                                            `item_resource` 
                                            WHERE i_itemnumber = ".$item['id'].";");
       while($res = $itemresresult->fetch_assoc()){
           ...render images
       }
       echo '</li>';
    }
    echo '</ul>';

如您所见,您需要使用相应的图像循环渲染图像。也不是我在SQL查询中使用来自$item的ID,而不是迭代号。

© www.soinside.com 2019 - 2024. All rights reserved.