如何显示数据库中的数据? [英] How to display data from database?

查看:121
本文介绍了如何显示数据库中的数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在制作购物车,我在显示产品时遇到问题。这里是我认为问题的代码的一部分。我使用xampp。查询有问题吗?请帮助,谢谢。

I'm making shopping cart, and I have s problem displaying the products. Here's a part of the code where I think the problem is. I'm using xampp. Is something wrong with the query? Please help, Thanks

<?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:

[edit] Here's the db.php that is included in the script from above:

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

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

And here is the functions.php also included in the script from the above code:

<?
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');


推荐答案

简写取决于服务器配置。尝试以下,看看是否工作,我通常偏离短标签

Your echo shorthand depends on server config. Try the following to see if that works, I usually stray away from 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>

这篇关于如何显示数据库中的数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆