我的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显示数据< / p>
答案 0 :(得分:0)
将产品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 :(得分:0)
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_*
函数使用mysqli
或pdo
库,并在从GET参数获取字符串时转义字符串。
2-您可以使用联接从与当前产品相对应的其他表中获取数据