私は2つのwhileループを自分のPHPコードで持っています。最初のものは、食事の成分を表示するためのボタン/テーブル形式で印刷します。 2番目のwhileループは、要素を選択リストに入れます。しかし、コードを実行すると、最初のwhileループのみが正常に実行され、2番目のループは正常に実行されません。PHP:2回目のループは実行されませんか?
最初のwhileループがリストを入力し、2番目がリストを画面に出力する順序を逆にしてみました。テーブルが印刷されないうちに、オプションメニューが表示されたので、オプションコードを書いてもうまくいきませんでした。
何がありますか?なぜこのコードで2 whileループを作れないのですか?私は他の人がループ内でループを行うのを見たので、なぜこのコードが実行に失敗しているのかわかりません。
<?php
if (isset($_POST['view_meal'])){
$meal = (string)$_POST['meal_names'];
$meal_fk_q = "SELECT item
FROM meal_ingredients
WHERE meal_name='$meal'
ORDER BY item";
$meal_fk_c = $conn->query($meal_fk_q);
echo "<div class='view_meal_table_wrapper'>";
while ($row = $meal_fk_c->fetch_assoc()){
$view_ingredient = $row['item'];
echo "<table class='view_meal_table'>
<tr>
<td class='view_meal cell'>$view_ingredient</td>
</tr>
</table>";
}
echo "</div>";
echo "<form action='createmeal.php' method='post'>
<select name='remove_ingredients' placeholder='meals'>
<option disabled selected value> -- Remove Ingredient -- </option>";
while ($row = $meal_fk_c->fetch_assoc()){
$view_ingredient = $row['item'];
echo "<option>" . $view_ingredient . "</option>";
}
echo "</select>
<input type='submit' name='remove_ingredient' value='Remove Ingredient'>";
}
?>
あなたのループが、彼らは順番に実行し、ネストされていません。最初のループは結果を使い果たし、2番目のループには何も残らないようにします。 – fafl