Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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 在数据库中关联2个表_Php_Mysql_Sql - Fatal编程技术网

Php 在数据库中关联2个表

Php 在数据库中关联2个表,php,mysql,sql,Php,Mysql,Sql,我在一个数据库中有两个表。一个用于产品数据,另一个用于产品的图像。我必须在我的页面索引中设置一个滑块,然后会出现一些特定的图片,比如50%折扣的产品,或者类似的东西。我将查询数据库中的product表,以获取正在销售的产品的id $query1="SELECT id FROM products WHERE price<'100'"; $query2=mysql_query($query1); $idSales=mysql_fetch_array($query2); 现在我有了一个数组,其

我在一个数据库中有两个表。一个用于产品数据,另一个用于产品的图像。我必须在我的页面索引中设置一个滑块,然后会出现一些特定的图片,比如50%折扣的产品,或者类似的东西。我将查询数据库中的product表,以获取正在销售的产品的id

$query1="SELECT id FROM products WHERE price<'100'";
$query2=mysql_query($query1);
$idSales=mysql_fetch_array($query2);
现在我有了一个数组,其中有我感兴趣的产品的id,麻烦来了。我如何处理mysql_fetch_数组返回给我的数组?如何对images表进行查询
在该表中,我有相应产品的id,因此我必须将其中一个与另一个匹配

您可以尝试运行多个内联查询。出于性能考虑,我不建议这样做,但它可以用更少的记录完成任务:

 while($row = mysql_fetch_array($query2)){
    $id = $row['id'];
    //now create a new query 
    $img_query = "SELECT * FROM ... where id=".$id;
    //run query and process results
    $img_result = mysql_fetch_array($img_query)
        //work with image related results here
}

您还可以创建一个sql数组,并在while循环完成后运行查询。

您可以连接这两个表以获取产品的图像。 运行此查询

  SELECT i.`imageName`
  FROM products p INNER JOIN images i
  ON p.`id`=i.`idProduct`
  WHERE p.price<100

或者您可以使用subrequest

从图像中选择*从产品中选择id从价格<'100'的产品中选择id
显示您的表结构或使用jointable产品id类别模型颜色表图像id idProduct imageName use Join-从b.idProduct=a上的产品a内部连接图像b中选择b.imageName。谢谢!我用join,它运行得很好!谢谢你的时间@不客气。请把它标对