0

我有一个搜索框,用户可以在其中搜索产品,但是我遇到了一个问题。

我想使用单个查询来搜索多个表,然后显示结果。问题是在搜索结果出现后,当用户点击其中一个产品时,他应该会看到该项目的详细信息。

我可以使用单个表来执行此操作,只需id通过 url 将变量传递到第二页并回显第二页上的所有行。如何使用多个表执行此操作?列的数量不匹配。有人可以提示我如何显示多个表格的详细信息吗?就像 ebay 或 amazon 一样。

 $stmt = $mysqli->prepare("SELECT * FROM TABLE1, TABLE2, WHERE TABLE1.title = ? OR TABLE2.title = ?");
 $stmt->bind_param('ss', $title, $title);
 $stmt->execute();
4

2 回答 2

0

为了获得最佳效果,我认为您需要重新设计这些产品表。尝试以下方法。product_categories为至少两个字段创建一个表, category_id,category_name. 然后为product_lists. 至少有三个字段product_id, category_id, product_name。注意category_id是表上的外键product_listsproduct_details然后为至少三个字段创建另一个表detail_id,product_id,details。注意 product_id 是外键product_details

这只是示例,您可以做的不止于此。然后你可以使用他们的外键和主键加入上面的表,你解决了多个表id的问题。正如您在下一页上看到的那样,该 id 将在 product_lists 表中很有用。

于 2013-08-25T20:44:51.770 回答
0

尝试这个

     $stmt = $mysqli->prepare("SELECT t1.* ,t2.* FROM TABLE1 t1, TABLE2 t2 
                               WHERE t1.title = ? OR t2.title = ? ");
于 2013-08-25T20:15:15.040 回答