2012-01-28 38 views
0

我正在制作购物车,并且显示产品时出现问题。这是我认为问题出现的一部分代码。我正在使用xampp。查询有问题吗?请帮帮忙,谢谢如何显示数据库中的数据?

<?php 
include("includes/db.php"); 
include("includes/functions.php"); 

if($_REQUEST['command']=='add' && $_REQUEST['productid']>0){ 
    $pid=$_REQUEST['productid']; 
    addtocart($pid,1); 
    header("location:shoppingcart.php"); 
    exit(); 
} 
    ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <title>Products</title> 
    <script language="javascript"> 
function addtocart(pid){ 
    document.form1.productid.value=pid; 
    document.form1.command.value='add'; 
    document.form1.submit(); 
} 
    </script> 
    </head> 


    <body> 
    <form name="form1"> 
<input type="hidden" name="productid" /> 
    <input type="hidden" name="command" /> 
    </form> 
    <div align="center"> 
<h1 align="center">Products</h1> 
<table border="0" cellpadding="2px" width="600px"> 
    <? 
    $result=mysql_query("select * from products"); 
    while($row=mysql_fetch_array($result)){ 
    ?> 
    <tr> 
    <td><img src="<?php echo $row['picture']; ?>" /></td> 
    <td> <b><?php echo $row['name']; ?></b><br /> 
      <?php echo $row['description']; ?><br /> 
      Price:<big style="color:green"> 
       $<?php echo $row['price']; ?></big><br /><br /> 
      <input type="button" value="Add to Cart" onclick="addtocart(<?php echo   $row['serial']?>)" /> 
    </td> 
    </tr> 
    <tr><td colspan="2"><hr size="1" /></td> 
    <? } ?> 
    </table> 
    < /div> 
    </body> 
    </html> 

[编辑] 下面是包含在脚本从上面的db.php中:

<? 
@mysql_connect("localhost","root","") or die("Cannot connect"); 
@mysql_select_db("shopping") or die("Cannot connect"); 
session_start(); 
?> 

这里是functions.php中还包括从脚本上面的代码:

<? 
function get_product_name($pid){ 
    $result=mysql_query("select name from products where serial=$pid"); 
    $row=mysql_fetch_array($result); 
    return $row['name']; 
} 
function get_price($pid){ 
    $result=mysql_query("select price from products where serial=$pid"); 
    $row=mysql_fetch_array($result); 
    return $row['price']; 
} 
function remove_product($pid){ 
    $pid=intval($pid); 
    $max=count($_SESSION['cart']); 
    for($i=0;$i<$max;$i++){ 
     if($pid==$_SESSION['cart'][$i]['productid']){ 
      unset($_SESSION['cart'][$i]); 
      break; 
     } 
    } 
    $_SESSION['cart']=array_values($_SESSION['cart']); 
} 
function get_order_total(){ 
    $max=count($_SESSION['cart']); 
    $sum=0; 
    for($i=0;$i<$max;$i++){ 
     $pid=$_SESSION['cart'][$i]['productid']; 
     $q=$_SESSION['cart'][$i]['qty']; 
     $price=get_price($pid); 
     $sum+=$price*$q; 
    } 
    return $sum; 
} 
function addtocart($pid,$q){ 
    if($pid<1 or $q<1) return; 

    if(is_array($_SESSION['cart'])){ 
     if(product_exists($pid)) return; 
     $max=count($_SESSION['cart']); 
     $_SESSION['cart'][$max]['productid']=$pid; 
     $_SESSION['cart'][$max]['qty']=$q; 
    } 
    else{ 
     $_SESSION['cart']=array(); 
     $_SESSION['cart'][0]['productid']=$pid; 
     $_SESSION['cart'][0]['qty']=$q; 
    } 
} 
function product_exists($pid){ 
    $pid=intval($pid); 
    $max=count($_SESSION['cart']); 
    $flag=0; 
    for($i=0;$i<$max;$i++){ 
     if($pid==$_SESSION['cart'][$i]['productid']){ 
      $flag=1; 
      break; 
     } 
    } 
    return $flag; 
} 

    ?> 

产品表:

CREATE TABLE IF NOT EXISTS `products` (
    `serial` int(11) NOT NULL auto_increment, 
    `name` varchar(20) collate latin1_general_ci NOT NULL, 
    `description` varchar(255) collate latin1_general_ci NOT NULL, 
    `price` float NOT NULL, 
    `picture` varchar(80) collate latin1_general_ci NOT NULL, 
    PRIMARY KEY (`serial`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7 ; 

INSERT INTO `products` (`serial`, `name`, `description`, `price`, `picture`) VALUES 
(1, 'View Sonic LCD', '19" View Sonic Black LCD, with 10 months warranty', 250, 'images/lcd.jpg'), 
(2, 'IBM CDROM Drive', 'IBM CDROM Drive', 80, 'images/cdrom-drive.jpg'), 
(3, 'Laptop Charger', 'Dell Laptop Charger with 6 months warranty', 50, 'images/charger.jpg'), 
(4, 'Seagate Hard Drive', '80 GB Seagate Hard Drive in 10 months warranty', 40, 'images/hard-drive.jpg'), 
(5, 'Atech Mouse', 'Black colored laser mouse. No warranty', 5, 'images/mouse.jpg'); 
+0

'<?PHP = $行[ '图片']?>'应该是'<?= $行[”图片']?>' – fardjad 2012-01-28 19:13:32

+0

什么都没有发生...... – Isabella 2012-01-28 19:16:24

+0

只是为了确保它不在您发布的代码中,您已连接到数据库和表格? – romainberger 2012-01-28 19:28:59

回答

2

您的回声速记取决于服务器配置。请尝试以下,看看是否能工作,我通常从short tags

流浪远
<table border="0" cellpadding="2px" width="600px"> 
    <?php 
     $result=mysql_query("select * from products"); 
     while($row=mysql_fetch_array($result)){ 
    ?> 
    <tr> 
     <td><img src="<?php echo $row['picture']; ?>" /></td> 
     <td> <b><?php echo $row['name']; ?></b><br /> 
       <?php echo $row['description']; ?><br /> 
       Price:<big style="color:green"> 
        $<?php echo $row['price']; ?></big><br /><br /> 
       <input type="button" value="Add to Cart" onclick="window.location='shoppingcart.php'" /> 
     </td> 
    </tr> 
    <tr><td colspan="2"><hr size="1" /></td> 
    <?php } ?> 
</table> 
+0

它又是一样的。我不知道什么是错的。 – Isabella 2012-01-28 19:24:25

+0

确保您的错误已打开。你可以验证'产品'表中有数据吗?它输出什么东西? – 2012-01-28 19:27:40

+0

它只输出:价格:和按钮添加到购物车。 – Isabella 2012-01-28 19:45:24

0
<table border="0" cellpadding="2px" width="600px"> 
     <?php 
      $result=mysql_query("select * from products"); 
      while($row=mysql_fetch_array($result)){ 
     ?> 
     <tr> 
      <td><img src="<?php echo $row['picture'] ?>" /> 
      </td> 
      <td> <b><?php echo $row['name'] ?></b><br /> 
        <?php echo $row['description'] ?><br /> 
        Price:<big style="color:green"> 
        $<?php echo $row['price'] ?></big><br /><br /> 
        <input type="button" value="Add to Cart" onclick="addtocart(<?php echo $row['serial']?>)" /></td> 
     </tr> 
     <?php } ?> 
     </table> 
相关问题