Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从两个不同的表中使用id和名称进行搜索_Php_Mysql_Sql_Join - Fatal编程技术网

Php 从两个不同的表中使用id和名称进行搜索

Php 从两个不同的表中使用id和名称进行搜索,php,mysql,sql,join,Php,Mysql,Sql,Join,我想根据用户插入的关键字搜索产品。 目前,我正在使用explode user关键字和类似SQL的SQL $keywords = explode(' ', $psearch);//psearch = User keyword $searchTermKeywords = array(); foreach ($keywords as $word) { $searchTermKeywords[] = "name Like '%$word%'"; } $qry_p = "SELECT * FROM

我想根据用户插入的关键字搜索产品。 目前,我正在使用explode user关键字和类似SQL的
SQL

$keywords = explode(' ', $psearch);//psearch = User keyword
$searchTermKeywords = array();
foreach ($keywords as $word) 
{
  $searchTermKeywords[] = "name  Like '%$word%'";
}
$qry_p = "SELECT * FROM product 
          where ".implode(' AND ', $searchTermKeywords)." 
          && status=1
          ORDER BY RAND() LIMIT 12";  
但只有当产品包含用户输入的名称时,它才会起作用。

这是我的第一张表“产品”

这是第二个名为“类别”


现在我想执行一个操作,比如如果用户搜索
Saree
,那么所有类别id为1(Saree的意思)的产品都应该显示出来

在您的情况下,使用Product对产品和类别表进行内部联接。
category=category.id
并在选择项中将category.name添加为category\u name。 还可以使用更新您的搜索条件


foreach($word形式的关键字)
{
$searchTermKeywords[]=“类似“%$word%”的product.name或类似“%$word%”的category_name”;
}

请尝试以上代码,并根据您的搜索词字段进行更新。
希望这能对您有所帮助。

“现在我想执行一个操作,比如用户搜索Saree,以便所有类别id为1的产品”向我们展示您使用的完整查询以及sqlfiddle.com上包含示例数据(无PHPMyAdmin图像)的完整表结构。!