繁体   English   中英

我想根据产品p_id显示数据

[英]I want to display data according to product p_id

我的3个表格,即产品,乐队,产品信息

产品

CREATE TABLE IF NOT EXISTS `product` (
  `p_id` int(11) NOT NULL AUTO_INCREMENT,
  `product` varchar(50) NOT NULL,
  PRIMARY KEY (`p_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
INSERT INTO `product` (`p_id`, `product`) VALUES
(1, 'Atta'),
(2, 'OIl');

CREATE TABLE IF NOT EXISTS `brand` (
  `b_id` int(11) NOT NULL AUTO_INCREMENT,
  `p_id` int(11) NOT NULL,
  `brand` varchar(50) NOT NULL,
  `image` varchar(255) NOT NULL,
  PRIMARY KEY (`b_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;  

插入

INSERT INTO `brand` (`b_id`, `p_id`, `brand`, `image`) VALUES
(1, 1, 'Ashirvad', 'FreeVector-Blue-Squares-Vector.jpg'),
(2, 1, 'Phillsberry', 'ILBAGNOALESSI_One_02.jpg'),
(3, 2, 'Sunflower', '001-bi-fold-corporate-brochure-template-vol-1-2.jpg');

产品资讯

CREATE TABLE IF NOT EXISTS `product_info` (
  `pi_id` int(11) NOT NULL AUTO_INCREMENT,
  `pro` int(11) NOT NULL,
  `b_id` int(11) NOT NULL,
  `quantity` varchar(20) NOT NULL,
  `measurement` varchar(20) NOT NULL,
  `mrp` varchar(20) NOT NULL,
  `our_price` varchar(20) NOT NULL,
  PRIMARY KEY (`pi_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

插入

INSERT INTO `product_info` (`pi_id`, `pro`, `b_id`, `quantity`, `measurement`, `mrp`, `our_price`) VALUES
(1, 1, 1, '1', 'kg', '50', '48'),
(2, 1, 2, '1', 'kg', '60', '59'),
(3, 2, 3, '1', 'ltr', '90', '86');

当我使用以下查询根据p_id显示数据时,它将正确显示数据

<?php
                // Make a MySQL Connection
                $con = mysql_connect("localhost", "root", "");
                  if (!$con)
                {
                  die('Could not Connect to DB :'. mysql_error());
                }
                mysql_select_db("mr_bazaar",$con);

                $result = mysql_query("select * FROM product"); 
                echo '<ul class="list-1 p2">'; 
                while($row = mysql_fetch_array( $result )) {
                    // Print out the contents of each row into a table

                    echo '<li>';
                    echo "<a href='page1.php?$row[p_id]'>";
                    echo '<b>';
                    echo $row['product'];
                    echo '</b>';
                    echo "</a>";
                    echo '</li>';
                } 
                echo '</ul>';
                mysql_close($con);
            ?>

我想使用表产品,品牌,product_info(来自产品表的产品),(来自品牌表的品牌),(数量,来自product_info表的mrp)根据另一页page1.php中的p_id显示数据

将产品ID作为URL参数发送到下一页。 所以改变

 echo "<a href='page1.php?$row[p_id]'>";

echo "<a href='page1.php?pid=$row[p_id]'>";

并使用page1.php接受pid

$pid=$_GET['pid'];  // getting the URL parameter 

现在,您可以查询以获取与pid相对应的详细信息。

mysql_query("SELECT p.product,b.brand,pi.quantity,pi.mrp FROM product as p INNER JOIN brand as b ON p.p_id=b.p_id
INNER JOIN product_info as pi ON pi.b_id=b.b_id WHERE p.p_id=$pid");

1-要将产品ID发送到page1.php,请正确传递变量,然后更改

echo "<a href='page1.php?$row[p_id]'>";

echo "<a href='page1.php?pid=$row[p_id]'>";

2-使用以下命令获取page1.php上的变量:

$pid = $_GET['pid'];

3-查询数据库以记录该产品

$result = mysql_query("select * FROM product WHERE p_id='{$pid}'");

*注意:

1-我建议您不要使用mysql_*函数,而要使用mysqlipdo库,并且在从GET参数获取字符串时也应转义该字符串。

2-您可以使用联接从对应于当前产品的其他表中获取数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM