Рендеринг элементов во вложенном цикле PHP - PullRequest
0 голосов
/ 12 февраля 2019

Я рендерил страницу в 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 и т. Д.

1 Ответ

0 голосов
/ 12 февраля 2019

Вы должны сделать что-то вроде этого:

$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>';

Как видите, вы должны визуализировать изображения в цикле с соответствующим изображением.Кроме того, я не использовал идентификатор из $item в запросе SQL, а не номер итерации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...