2013-12-16 4 views
0

Я делаю простую корзину. На главной странице отображается список продуктов. Когда вы нажимаете на имя продукта, оно должно перейти на страницу, где отображается только информация о продукте. Сейчас это ничего не отображает. Вот мой код:Отображение информации из базы данных SQL Server

<?php 

    $sql = "SELECT product_id, image_path, name, description, price FROM products;"; 
    $result = mysql_query($sql); 
    while(list($product_id, $image_path, $name, $description, $price) = mysql_fetch_row($result)) { 

     echo "<tr>"; 
      echo "<td><img src=$image_path height=200 width=160 border=1px /></td>"; 
      echo "<td><b><a href=\"getprod.php?product=" . 
        $product_id['product_id'] . "\">$name</a></b><br/ >"; 
      echo "$description<br/ >"; 
      echo "$$price<br/ >"; 
      echo "<input type='button' value='Add to Cart' onclick='addtocart'/>"; 

     echo "</tr>"; 

    } 

?> 

И мой метод ProductInfo, который должен отображать мою информацию:

function productInfo($product_id) { 
    global $conn; 

    if($product_id) { 
     $sql= "SELECT product_id,image_path, name, description, price " . 
       "FROM products WHERE product_id = " . $product_id; " . 

     $result= mysql_query($sql, $conn) or 
      die('Could not find product info: ' . mysql_error()); 

     while(list($product_id, $image_path, $name, $description, $price) = mysql_fetch_row($result)) { 
      echo "<td><img src=$image_path height=200 width=160 border=1px /></td>"; 
      echo "<td><b><a href=\"getprod.php?product=" . 
        $product_id['product_id'] . "\">$name</a></b><br/ >"; 
      echo "$long_description<br/ >"; 
      echo "$$price<br/ >"; 
      echo "<input type='button' value='Add to Cart' onclick='addtocart'/>"; 
     } 

     } 
    } 

Любая помощь или подталкивать в нужном направлении было бы весьма признателен!

+0

Прежде чем кто-то еще скажет, что расширение 'mysql' устарело. Вам действительно нужно рассмотреть переход на mysqli – hammus

+0

Да, это для школьного проекта, и похоже на то, что мы использовали в этом классе ранее, поэтому я просто застрял с ним. –

ответ

1

, как вы выборки $product_id с list(), в цикле в то время, изменение:

echo "<td><b><a href=\"getprod.php?product=" . 
        $product_id['product_id'] . "\">$name</a></b><br/ >"; 

в

echo "<td><b><a href=\"getprod.php?product=" . 
        $product_id . "\">$name</a></b><br/ >"; 
+0

Хорошо. Я изменил это в обоих случаях, но ничего не изменил. –

0

Вы только выбрать "product_id" из таблицы базы данных. Вы должны указать, что вы хотите, чтобы вернуться, если вы собираетесь использовать список команд():

$sql= "SELECT product_id, image_path, name, description, price FROM products WHERE product_id = " . $product_id; 

Кроме того, если ваш product_id не указан в качестве Integer в базе данных, и вместо того, чтобы текст или VARCHAR, вы может захотеть поставить котировки вокруг продукта id

$sql= "SELECT product_id, image_path, name, description, price FROM products WHERE product_id = \"$product_id\""; 
+0

Ok.I изменил мою инструкцию sql, чтобы включить другие поля ... имеет смысл. И мой product_id - это int, но спасибо. Тем не менее, пока не отображаю информацию о моем продукте. –

+0

Я думаю, вы должны использовать функцию mysqli_fetch_array и создать цикл while, чтобы получить содержимое строки. Например, $ product_id = $ row ["product_id"] – SyntaxLAMP

+0

Я пробовал это .... но он все еще ничего не отображает на странице. ? –

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