2015-08-06 4 views
1

Итак, я пытаюсь создать простую корзину для моего php-класса. Я остановился, потому что заметил, что идентификаторы продуктов не работают правильно. Прямо сейчас у меня есть информационная кнопка, которая должна извлекать информацию из базы данных, но, похоже, она продолжает получать ту же информацию для каждого продукта, который я выбираю. У меня 20 продуктов, столбец ProductID идет от 1-20, но похоже, что каждый продукт присваивает «1». На данный момент я просто хочу поднять информацию, когда я нажимаю кнопку информации, так как я уверен, что решение поможет с остальными. Вот код:PHP корзину товар идентификатор

<?php 

session_start(); 
require_once 'DBLogin.php'; 

echo "<form action='Catalogue.php' method='Post'>"; 

$sql = "SELECT * FROM ACME.Products"; 
$result = mysql_query($sql); 

echo "<select name='Select_Product'>"; 
while ($row = mysql_fetch_array($result)) { 
    echo "Please select a product: <option value='" . $row['ProductID'] .  "'>" . $row['Name'] . "</option>"; 
} 
echo "</select>"; 

echo <<<HTML 

<table> 
<tr> <td> 
<input id="button_Add" type="submit" value="Add" name="action"/>       
</td> <td> <input id="button_Remove" 
type="submit" value="Remove" name="action"/> 
</td> <td> <input id="button_empty" 
type="submit" value="Empty" name="action"/> 
</td> <td> <input id="button_Info" 
type="submit" value="Info" name="action"/> 
</td> </tr> 
</table> 
</form> 
HTML; 

//code to attempt to pull the info 
$product_id = $_POST['Select_Product']; 
$action = $_POST['action']; 

switch ($action) { 
    case "Add": 
     echo $_SESSION['cart'][$product_id]++; 
     break; 
    case "Remove": 
     $_SESSION['cart'][$product_id]--; 
     if($_SESSION['cart'][$product_id] == 0) 
     unset($_SESSION['cart'][$product_id]); 
     break; 
    case "Empty": 
     unset($_SESSION['cart']); 
     break; 
    case "Info": 
     $sql = "SELECT * FROM ACME.Products"; 
     $result = mysql_query($sql); 
     $row = mysql_fetch_array($result); 
     echo "<table>"; 
     echo "<tr><td>Name</td><td>Description</td ><td>Price</td><td>Image</td>  </tr>"; 
     echo "<td>" . $row['Name'] . "</td>"; 
     echo "<td>". $row['Description'] . "</td>"; 
     echo "<td>". $row['Price'] . "</td>"; 
     echo "<td align=\"center\"><img alt=\"\" src=\"productImages/". $product_id . ".jpg\ width=\"120\" height=\"120\"/></td></tr>"; 
     echo "</table>"; 
     break; 
} 

Вот ссылка на сайт, чтобы вы могли видеть, что происходит тоже: http://ec2-52-24-105-81.us-west-2.compute.amazonaws.com/Catalogue.php

Любая помощь будет принята с благодарностью!

ответ

0

Вы забыли where пункт

case "Info": 
    $sql = "SELECT * FROM ACME.Products Where id = $product_id Limit 1"; 
+0

Ого. Я часами смотрел на это. Благодаря! Сегодня мне может понадобиться помощь. – Godfried23

Смежные вопросы