Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 mysql查询-仅从另一个表中选择其中id=id,并且该表中的字段=值_Php_Mysql - Fatal编程技术网

Php mysql查询-仅从另一个表中选择其中id=id,并且该表中的字段=值

Php mysql查询-仅从另一个表中选择其中id=id,并且该表中的字段=值,php,mysql,Php,Mysql,我的标题可能无法解释我要找的是什么,这是我目前对某商店推出产品的查询: mysql_query("SELECT * FROM Items WHERE ((Items.menu_id='$menu_id' AND Items.status='1') $colour_sql) $order_sql LIMIT $lim_from,$limit_per_page"); 上面写着

我的标题可能无法解释我要找的是什么,这是我目前对某商店推出产品的查询:

mysql_query("SELECT * FROM Items 
             WHERE ((Items.menu_id='$menu_id' AND Items.status='1') 
                   $colour_sql) 
             $order_sql 
             LIMIT $lim_from,$limit_per_page");
上面写着$COLOR\u sql的那部分我想说:

AND (Items.id=colour.product_id AND colour.colour='pink')
所以它只显示粉红色的产品,颜色在单独的表格中。我一直在寻找答案,但我似乎找不到一个能解释我的情况的答案,可能是因为我不知道自己在寻找什么,谢谢你的帮助。

也许是内心的加入

[...]
FROM Items
INNER JOIN colour
ON colour.id = Items.colour_id
WHERE [blablabla]
AND colour.colour = 'pink'
也许是内部连接

[...]
FROM Items
INNER JOIN colour
ON colour.id = Items.colour_id
WHERE [blablabla]
AND colour.colour = 'pink'

如果要使用table
color
进行连接,则需要执行连接或子选择

加入

$menu_id = mysql_real_escape_string($menu_id);
mysql_query = "SELECT i.* 
  FROM items i
  INNER JOIN colour c ON (c.product_id = i.id)
  WHERE i.menu_id = '$menu_id' 
    AND i.status = '1'
    AND c.colour = 'pink'
  ORDER BY .....
  LIMIT {intval($limit_per_page)} OFFSET {intval($lim_from)} ";
$menu_id = mysql_real_escape_string($menu_id);
mysql_query = "SELECT i.* 
  FROM items i
  WHERE i.menu_id = '$menu_id' 
    AND i.status = '1'
    AND i.id IN (SELECT c.product_id FROM colour c WHERE c.colour = 'pink')
  ORDER BY .....
  LIMIT {intval($limit_per_page)} OFFSET {intval($lim_from)} ";
子选择

$menu_id = mysql_real_escape_string($menu_id);
mysql_query = "SELECT i.* 
  FROM items i
  INNER JOIN colour c ON (c.product_id = i.id)
  WHERE i.menu_id = '$menu_id' 
    AND i.status = '1'
    AND c.colour = 'pink'
  ORDER BY .....
  LIMIT {intval($limit_per_page)} OFFSET {intval($lim_from)} ";
$menu_id = mysql_real_escape_string($menu_id);
mysql_query = "SELECT i.* 
  FROM items i
  WHERE i.menu_id = '$menu_id' 
    AND i.status = '1'
    AND i.id IN (SELECT c.product_id FROM colour c WHERE c.colour = 'pink')
  ORDER BY .....
  LIMIT {intval($limit_per_page)} OFFSET {intval($lim_from)} ";

如果要使用table
color
进行连接,则需要执行连接或子选择

加入

$menu_id = mysql_real_escape_string($menu_id);
mysql_query = "SELECT i.* 
  FROM items i
  INNER JOIN colour c ON (c.product_id = i.id)
  WHERE i.menu_id = '$menu_id' 
    AND i.status = '1'
    AND c.colour = 'pink'
  ORDER BY .....
  LIMIT {intval($limit_per_page)} OFFSET {intval($lim_from)} ";
$menu_id = mysql_real_escape_string($menu_id);
mysql_query = "SELECT i.* 
  FROM items i
  WHERE i.menu_id = '$menu_id' 
    AND i.status = '1'
    AND i.id IN (SELECT c.product_id FROM colour c WHERE c.colour = 'pink')
  ORDER BY .....
  LIMIT {intval($limit_per_page)} OFFSET {intval($lim_from)} ";
子选择

$menu_id = mysql_real_escape_string($menu_id);
mysql_query = "SELECT i.* 
  FROM items i
  INNER JOIN colour c ON (c.product_id = i.id)
  WHERE i.menu_id = '$menu_id' 
    AND i.status = '1'
    AND c.colour = 'pink'
  ORDER BY .....
  LIMIT {intval($limit_per_page)} OFFSET {intval($lim_from)} ";
$menu_id = mysql_real_escape_string($menu_id);
mysql_query = "SELECT i.* 
  FROM items i
  WHERE i.menu_id = '$menu_id' 
    AND i.status = '1'
    AND i.id IN (SELECT c.product_id FROM colour c WHERE c.colour = 'pink')
  ORDER BY .....
  LIMIT {intval($limit_per_page)} OFFSET {intval($lim_from)} ";

您需要将颜色表添加到查询中:

FROM Items,colour


但我注意到您的颜色表中有产品标识。为什么不在添加颜色id的项目表中执行相反的操作。

您需要将颜色表添加到查询中:

FROM Items,colour


但我注意到您的颜色表中有产品标识。为什么不在项目表中做相反的操作,添加颜色id。

产品可以有多种颜色,所以我不能这样做,如果我理解正确,这只是一个观察:)产品可以有多种颜色,所以我不能这样做,如果我理解正确,这只是一个观察:)