下面将成功找到客户提交的产品* http://inks-etc.com/Canon/canon_inkdesign.php?ID=114 ID=114来自$_GET‘’ID‘,当进入SELECT时,将接收产品:价格、产品编号、描述、图像。现在我一直试图获得约4(限制4)更多的类似产品捕获的页面左侧,所以如果客户选择LC41黑色,我可以提供LC41青色,LC41洋红色,LC41黄色以及。我认为‘选择子查询’会很有帮助。你能告诉我我必须修改什么,甚至重新开始执行这项任务吗?
$inksetc = htmlentities($_GET['ID']);
$sql2 = "SELECT Id, Product_Type, Product_No , miniImageFarm
FROM `Canon_INK`
WHERE IN
(SELECT Id= $inksetc FROM Canon_INK WHERE Id LIKE $inksetc)
LIMIT 4";
$result = mysqli_query($dbc,$sql2) or die(mysqli_error($dbc));
while($rows = mysqli_fetch_array($result)){
?>发布于 2013-11-11 12:54:15
为此,您不需要子查询,您需要通配符'%',这样您就可以按模式进行搜索,您的$sql2应该如下所示:
$sql2 = "SELECT Id, Product_Type, Product_No , miniImageFarm ";
$sql2 .= "FROM `Canon_INK` ";
$sql2 .= "WHERE Id LIKE '%".SUBSTR($inksetc,0,4)."%'";我为匹配搜索添加了%。
发布于 2013-11-11 12:56:08
我相信你想要这样的东西:
SELECT Id, Product_Type, Product_No, miniImageFar
FROM Canon_INK
WHERE SUBSTR(Id, 0, 4) = SUBSTR($inksetc, 0, 4)阅读LIKE运算符;它并不是说一个字符串与另一个字符串相似,而是说一个字符串与一个模式匹配。
发布于 2013-11-11 15:50:19
$inksetc = htmlentities($_GET['ID']);// need to store LC41 in $_GET['ID'].
$sql2 = "SELECT Id, Product_Type, Product_No , miniImageFarm
FROM `Canon_INK`
WHERE Id IN
(SELECT Id FROM Canon_INK WHERE Id LIKE '%".$inksetc."%') // use Id instead of Id= $inksetc.
LIMIT 4";
$result = mysqli_query($dbc,$sql2) or die(mysqli_error($dbc));
while($rows = mysqli_fetch_array($result)){?>
https://stackoverflow.com/questions/19899003
复制相似问题