0

php's PDOと を使用してレコードを選択して表示する場合MySql、1 行を 1 回印刷して残りをループするにはどうすればよいですか? 以下のコードでは、1$row['parentName']回だけ印刷し、他のすべての行をループ処理する必要があります。それを行う効率的な方法は何ですか?私がやっている方法はうまくいかず、Notice: Undefined variable: row in C:\web\apache\htdocs\index.php on line 227.

これはまだ実装されていないため、まったく新しいアプローチを採用してもかまいません。

$stmt = $conn->prepare($sql);
$stmt->execute($thisArray);
    $rows = $stmt->rowCount();
        if($rows >= 1) {
            echo '<div>'.$row['parentName'].'</div>'; //Echo only once.
            while($row = $stmt->fetch()) {
                echo '<div>'.$row['childName'].'</div>';
            }
        } else {
            echo 'We could not find anything to display.';
        }

編集 私はそのfetch部分で立ち往生しています。

4

1 に答える 1

1

これを試して:

$stmt = $conn->prepare($sql);
$stmt->execute($thisArray);
if ($stmt->rowCount() >= 1) {
    $array = $stmt->fetchAll();
    echo '<div>', $array[0]['parentName'], '</div>';
    foreach ($array as $row) {
        echo '<div>', $row['childName'], '</div>';
    }
} else {
    echo 'We could not find anything to display.';
}
于 2013-10-14T14:56:17.237 に答える