Member 13637584 Ответов: 1

Если оператор не работает в цикле 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
		)); 
   }
	}

1 Ответов

Рейтинг:
0

Patrice T

Эта линия кажется мне неправильной:

echo "".$dbRow["Name"].""."<br><img src=\".$dbRow['Picture']."' width='150' height='150' />"."<br><br>".$dbRow["Instructions"]."
                                        ^                                                                                      ^

Попробуй
echo "".$dbRow["Name"]."<br><img src='\".$dbRow['Picture']."' width='150' height='150' />"."<br><br>".$dbRow["Instructions"].

[Обновление]
Моя вина
последняя цитата была правильной.
Небольшое изменение стиля кодирования может облегчить чтение вашего кода:
echo "".$dbRow["Name"]."<br><img src='\".$dbRow['Picture']."' width='150' height='150' /><br><br>".$dbRow["Instructions"];
echo "<form method='POST'><input type='hidden' name='MealID' value= '".$dbRow['MealID']."'>";
echo "<input type='submit' name='submit' value='Complete' ></form>";


Member 13637584

Это нормально, это реальный вопрос, который нужно решить?