簡體   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