У меня есть база данных, которая выглядит так:
Name | WebsitePrice | WebsiteStock | ----------------------------------------- football | 20 | Yes | ----------------------------------------- basketball | 10 | No | ----------------------------------------- hockey | 30 | Yes | -----------------------------------------
Я хочу создать 2 переменных для каждого элемента:
Это самый короткий способ, с которым я столкнулся:
$item1 = "football"; $item2 = "basketball"; $item3 = "tennis-ball"; $productList = array(); $products = $mysqli->query("select * from table_products where Name IN ('$item1', '$item2', '$item3')"); if($products){ while($product = mysqli_fetch_assoc($products)){ $productList[$product['Name']]['WebsitePrice'] = $product['WebsitePrice']; $productList[$product['Name']]['WebsiteStock'] = $product['WebsiteStock']; } } //first product: $price1 = $productList[$item1]['WebsitePrice']; $stock1 = $productList[$item1]['WebsiteStock']; //second product: $price2 = $productList[$item2]['WebsitePrice']; $stock2 = $productList[$item2]['WebsiteStock']; //third product: $price3 = $productList[$item3]['WebsitePrice']; $stock3 = $productList[$item3]['WebsiteStock'];
Это выглядит довольно грязно для меня. Есть ли лучший способ сделать это? особенно если предположить, что у меня может быть 20 предметов, а не только 3.
например, есть ли способ пропустить запись целых ('$item1', '$item2', '$item3')
и сделать эту строку ссылкой на количество элементов, которые определены в первом блоке кода?