Возможно ли перезапустить цикл while? В настоящее время у меня есть цикл while, который существует в цикле foreach, и мне нужно, чтобы инструкция while начиналась с начала каждый раз.Перезапуск цикла while
$sql = mysqli_query($link, "SELECT * FROM products");
$products = array('Milk', 'Cheese', 'Eggs');
$i = 0;
$total = count($products); //This is in case I change the product list.
if($sql)
{
foreach($products as $v)
{
while($r = mysqli_fetch_assoc($sql))
{
if($r['Name'] == $v)
{
echo $r['Name'] . " - £" . $r['Price'];
break;
}
}
}
}
Моя проблема возникает, когда выполняется код, и он производит Milk
и Eggs
, но в базе данных Cheese
предшествует Eggs
, и поэтому он никогда не кажется, чтобы найти. Как перезапустить цикл while, чтобы заставить код проверять каждое значение с начала SQL-запроса?
SOLVED: Используется хэширование для запроса вместо цикла sql.
почему перезапуск, что в то время как цикл, первая выборка всех данных в массив и делать как обычные внутренние петли –
@MansoorkhanCherupuzha Я никогда не получаю данные в массив? Я предполагаю, что запустил цикл while, а затем - foreach ($ row) внутри, что вы имеете в виду? –