【发布时间】:2014-03-08 22:13:48
【问题描述】:
我对搜索相关产品的搜索字段有 ajax 自动完成功能。为了不显示已与该产品关联的产品,我制作了此功能:
function getRelatedProducts($pid){
$str='SELECT distinct related_id FROM related_products WHERE product_id="'.$pid.'" ';
$result=mysql_query($str) or die('Mysql Error:'.mysql_error().'<br /> Query:'.$query);
$num_rows=mysql_num_rows($result);
$str='';
for($i=0;$i<$num_rows;$i++){
$row=mysql_fetch_row($result);
if($i==0) $str=$row[0];
else $str.=','.$row[0];
}
return $str;
}
$_SESSION['related_products']=getRelatedProducts($_GET['id']);
这样,我存储了已经与产品关联的产品 ID 的新数组值。 之后是自动完成搜索查询:
$query = "SELECT id,bg_product_name,model FROM products WHERE
(bg_product_name LIKE '%".$q."%' or model LIKE '%".$q."%') AND
active='1' and id NOT IN ('".$_SESSION['related_products']."') group by id LIMIT 11";
但查询总是显示相同的产品 - 即使它们已经与产品相关联..请帮助我找出我错在哪里.. 提前谢谢你
【问题讨论】:
-
我在这里没有看到 jquery,也没有 ajax,也没有看到它与问题的关系
-
@RoyalBg 他通过 AJAX 从 jQuery UI 自动完成调用这个 PHP 函数。
-
我是否应该复制案件中涉及的所有3个文件以证明它使用jquery和ajax?问题出在复制的查询中,这就是为什么我将您的注意力集中在它们上的原因..
-
@thecore7 没有,但是当问题不相关时,就不要提及它,或者不要把它放在高优先级。您的摘要以
ajax开头
标签: php jquery sql ajax autocomplete