Ниже мой код:Как я могу сделать эту работу (Basic mysqli и PHP)?
$result = $mysqli->query('SELECT * FROM products');
if($result === FALSE){
die(mysql_error());
}
if($result){
while($obj = $result->fetch_object()) {
if ($obj->typeOf === 'single')
{
$forPack = $mysqli->query('SELECT id FROM products WHERE typeOf = 12-pack AND product_name = '.$obj->product_name);
$forPound = $mysqli->query('SELECT id FROM products WHERE typeOf = 50-pound AND product_name = '.$obj->product_name);
echo '<div class="large-3 columns">';
echo '<p><h3>'.$obj->product_name.'</h3></p>';
echo '<img src="images/products/'.$obj->product_img_name.'"/>';
echo '<p><strong>Price (Per Unit)</strong>: '.$currency.$obj->price.'</p>';
echo '<p><a href="update-cart.php?action=add&id='.$obj->id.'"><input type="submit" value="Add Single" style="clear:both; background: #0078A0; border: none; color: #fff; font-size: 1em; padding: 10px;" /></a></p>';
echo '<p><a href="update-cart.php?action=add&id='.$forPack.'"><input type="submit" value="Add 12-pack" style="clear:both; background: #0078A0; border: none; color: #fff; font-size: 1em; padding: 10px;" /></a></p>';
echo '<p><a href="update-cart.php?action=add&id='.$forPound.'"><input type="submit" value="Add 50 pound" style="clear:both; background: #0078A0; border: none; color: #fff; font-size: 1em; padding: 10px;" /></a></p>';
echo '</div>';
}
}
Область У меня возникли проблемы с составляет $ forPack и $ forPound. В моей таблице продуктов обычно есть три продукта. Продукт, продукт в 12-упаковке и продукт в 50-фунтовом виде. Все работает нормально для первого из трех вызовов update-cart.php. Тот, который говорит $ obj-> id, но я не могу заставить $ forPack или $ forPound работать. У них есть то же самое имя продукта, только другое «typeOf» на сервере. Когда я запрашиваю, чтобы выбрать ID, не просто ли он возвращает номер? Что ТОЧНО возвращается сюда?
Мне просто нужна программа, чтобы посмотреть в таблице продуктов для продукта с таким же точным именем, но с другим типом. Если есть лучший способ сделать это, пожалуйста, дайте мне знать. Я полный новичок в SQL и PHP, поэтому я уверен, что это глупая ошибка.
Вы получаете набор записей из базы данных при вызове 'query'; вам нужно пройти через это, чтобы получить ценность, которую вы ищете. – andrewsi
Пара других вещей - вы можете получить оба значения в одном запросе; вы можете сделать 'SELECT if, typeOf FROM products WHERE typeOf IN ('12 -pack ', '50 -pound')', хотя тогда ваш набор записей будет содержать две строки, и вам нужно будет обработать его соответствующим образом. Также обратите внимание, что если вы ищете текстовое значение ('12-pack'), вам нужно обернуть его в кавычки, иначе MySQL будет считать его именем столбца. – andrewsi
Набор записей, например массив или что? Как я буду повторять этот набор записей? Я пробовал это около часа, и я не знаю, что, черт возьми, я делаю. Почему у меня есть что-нибудь, чтобы перебирать, если я выбираю уникальный идентификатор? Я не понимаю. –