第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嵌套的 foreach 循環(huán)僅在 PDO 上工作一次

嵌套的 foreach 循環(huán)僅在 PDO 上工作一次

PHP
人到中年有點甜 2022-10-28 14:58:24
這是我的代碼片段:<?php $kategorien = $kategorieQuery$items = $itemQueryforeach($kategorien as $kategorie): ?>    <div class="list">        <h1><?php echo $kategorie['kategorie']; ?></h1>        <?php if(!empty($items)): ?>        <ul>            <?php foreach($items as $item):                if($kategorie['kategorie'] == $item['kategorie']): ?>                    <li class="todo"><?php echo $item['kategorie']; ?></li>                <?php endif; ?>               <?php endforeach; ?>        </ul>        <?php else: ?>            <p>No todos</p>        <?php endif; ?>    </div><?php endforeach; ?>變量看起來像這樣(print_r):$kategorie:  [kategorie] => test [0] => test$item: Array ( [id] => 4 [0] => 4 [name] => name [1] => name [done] => 0 [2] => 0 [kategorie] => test [3] => test ) 1我的問題是外部foreach循環(huán)有效,但內(nèi)部循環(huán)只運行一次。因此,它會回顯所有類別等于當(dāng)前類別的項目名稱,但所有后續(xù)時間都沒有輸出,但 $items 在任何時候都不為空。我錯過了什么?
查看完整描述

1 回答

?
慕的地6264312

TA貢獻1817條經(jīng)驗 獲得超6個贊

您提供的代碼可以正常工作

<?php


$kategorien = [

    ["kategorie" => "test"],

    ["kategorie" => "sample"],

];

$items = [

    ["id" => 1, "name" => "item1", "done" => 0, "kategorie" => "test"],

    ["id" => 2, "name" => "item2", "done" => 0, "kategorie" => "test"],

    ["id" => 3, "name" => "item3", "done" => 0, "kategorie" => "sample"],

    ["id" => 4, "name" => "item4", "done" => 0, "kategorie" => "test"],

    ["id" => 5, "name" => "item5", "done" => 0, "kategorie" => "sample"],

];

?>


<?php foreach($kategorien as $kategorie): ?>


<div class="list">

    <h1><?= $kategorie['kategorie'] ?></h1>

    <?php if(!empty($items)): ?>

    <ul>

        <?php foreach($items as $item): ?>

            <?php if($kategorie['kategorie'] == $item['kategorie']): ?>

        <li class="todo"><?= $item['name'] ?></li>

            <?php endif ?>

        <?php endforeach ?>

    </ul>

    <?php else: ?>

        <p>No todos</p>

    <?php endif; ?>

</div>

<?php endforeach; ?>

但是在評論中,我們了解到這$items不是一個數(shù)組,而是一個語句對象。所以你需要這樣做:


<?php

require_once 'app/init.php';

$itemsQuery = $db->prepare("SELECT id, name, done, kategorie FROM todo WHERE user_id = :user_id");

$itemsQuery->execute(['user_id'=>$_SESSION['user_id']]);

$items = $itemsQuery->fetchAll(\PDO::FETCH_ASSOC);

與您的類別列表類似。運行fetchAll()會將結(jié)果保存到一個數(shù)組中,該數(shù)組可以循環(huán)多次。


一個數(shù)據(jù)庫結(jié)果集有一個內(nèi)部計數(shù)器;一旦到達結(jié)果集的末尾,就不能再循環(huán)它,這與數(shù)組不同。


查看完整回答
反對 回復(fù) 2022-10-28
  • 1 回答
  • 0 關(guān)注
  • 105 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號