是否可以将数据库中的产品名称放入字符串中,如下例所示: -
SELECT product_name FROM table_name WHERE product_name IN ('hello Cannabicare hi Dread Rock Coffeeshop whatsup');
在上面的示例中,Cannabicare和Dread Rock Coffeeshop是产品名称,可以重复多次因为用户帖子动态生成字符串
在php中形成上面的查询,如
$search_product_name='hello Cannabicare hi Dread Rock Coffeeshop whatsup';
$query="SELECT product_name FROM table_name WHERE product_name IN ('".$search_product_name."')";
字符串可以包含('|,|@|#|,| etc..)
。
答案 0 :(得分:0)
试试这个。只是我给出了关键概念。
第1步:爆炸你的句子(输入)
step2:执行sql命令取决于你的分割数组值
步骤3:将所有可能的产品名称推送到结果数组
例如:
$var = "your dynamic value";
$res = explode(" ",$var);
$prod_name = new array();
for($i=0;$i<count($res);$i++){
$word = $res[$i];
$prod_name = mysql_query("SELECT product_name FROM table_name WHERE product_name LIKE '%".$word."%'");
$productname = mysql_fetch_array($prod_name);
array_push($prod_name,$productname);
}
print_r($prod_name);/* this is for just testing */
答案 1 :(得分:0)
您必须将每个产品名称指定为逗号分隔值。例如,如果您想从产品Cannabicare,Dread Rock Coffeeshop搜索,那么您必须在下面进行搜索
SELECT product_name FROM table_name WHERE product_name
IN ('Cannabicare', 'Dread Rock Coffeeshop')