我正在尝试为我有两个表产品和库存的产品构建一个搜索页面,我在产品中有产品详细信息,库存中有颜色,尺寸,价格等库存详情。请提出一个解决方案我真的陷入困境,我需要一个更好的解决方案来实现强大的设计。以下是所有必要的细节:
产品:
product_id
product_name
product_sku
product_desc
product_category
广告:
inventory_id
product_id
inventory_color
inventory_size
我的查询:
SELECT p.product_name, p.product_sku, p.product_desc, i.inventory_color, i.inventory_color
FROM products as p
INNER JOIN invetory as i ON p.product_id = i.product_id
URL:
www.abc.com/index.php?cat=shoe&color=black
如何从URL获取cat和color并在我的查询中使用它们?或者我是在做正确的方式吗?
答案 0 :(得分:2)
是的,你走的是正确的道路。使用get
或request
$category=mysql_real_escape_string($_GET['cat']);
$color=mysql_real_escape_string($_GET['color']);
并将您的SQL设为
SQL="SELECT p.product_name, p.product_sku, p.product_desc, i.inventory_color, i.inventory_size
FROM products as p
INNER JOIN invetory as i ON p.product_id = i.product_id
WHERE p.product_category='".$category."' AND i.inventory_color='".$color."'";
答案 1 :(得分:1)
您可以从网址中捕获值。 你可以使用“$ _GET ['参数']”
$color = $_GET['color'];
$category = $_GET['cat'];
答案 2 :(得分:0)
您可以使用$ _GET来获取它:
$product_id = $_GET['product_id'];
答案 3 :(得分:0)
使用PDO,类似于
$dbh = new PDO(...)
$sth = $dbh->prepare('SELECT p.product_name, p.product_sku, p.product_desc, i.inventory_color
FROM products as p
INNER JOIN invetory as i ON p.product_id = i.product_id
WHERE p.cat = ? AND i.inventory_color = ?');
$sth->execute(array($_GET['cat'], $_GET['color']));
$results = $sth->fetchAll();
的示例