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
andEggs
が生成されたときに発生しますが、データベースでは のCheese
前Eggs
に来るため、決して見つからないようです。SQLクエリの開始から各値をコードに強制的にチェックさせるために、whileループを再開するにはどうすればよいですか?
解決済み: SQL をループする代わりに、クエリを実行するためにハッシュを使用しました。