Если оператор не работает в цикле WHILE PHP?
Привет Я пытаюсь остановить часть цикла while от запуска только один раз.
Я искал и если заявление представляется единственным способом
Единственное,когда я вставляю оператор IF - он, кажется, вообще не выполняет оператор INSERT, поэтому ничего не вставляется, как будто он останавливается перед оператором insert. Как вы можете видеть, $inserted объявляется вне цикла, а затем изменяется на true внутри, поэтому он останавливается, но, похоже, он этого не делает.
Без него он будет зацикливаться каждый раз, когда страница обновляется, и вставлять в базу данных каждое обновление, хотя мне нужно, чтобы оператор INSERT выполнялся только один раз. Мне это нужно в цикле, так как именно там находится информация для вставки.
Может ли кто - нибудь помочь здесь?
Что я уже пробовал:
$inserted=false; while($dbRow=$dbQuery->fetch(PDO::FETCH_ASSOC) and ($cnt < $max)) { echo "".$dbRow["Name"]."<br><img src='\".$dbRow['Picture']."' width='150' height='150' />"."<br><br>".$dbRow["Instructions"]. <form method='POST'><input type='hidden' name='MealID' value= '".$dbRow['MealID']."'> <input type='submit' name='submit' value='Complete' ></form>"; $cnt++; $MealID=$dbRow["MealID"]; $Displayed = false; if (!$inserted) { $inserted=true; $stmt=$conn->prepare("INSERT into UserRecipes (UserID, RecipeID, Displayed) VALUES (:UserID, :RecipeID, :Displayed) "); $stmt->execute(array( ':UserID' => $UserID, ':MealID' => $MealID, ':Displayed' => $Displayed )); } }