关联数据库中的2个表

时间:2015-12-02 06:09:28

标签: php mysql sql

我在数据库中有2个表。一个是产品数据,另一个是产品图像。我必须在我的页面的索引中设置一个滑块,然后会有特定的图像(比如50%折扣的产品,或者像那样)。我将在我的数据库中查询我的产品表,以获取正在销售的产品的ID

$query1="SELECT id FROM products WHERE price<'100'";
$query2=mysql_query($query1);
$idSales=mysql_fetch_array($query2);

所以,现在我有一个数组,其中包含我感兴趣的产品的ID,这就麻烦了。我如何处理mysql_fetch_array返回给我的那个数组?如何查询images表( 在那个表中,我有相应产品的ID,所以我要将其中一个与其他产品相匹配)

3 个答案:

答案 0 :(得分:1)

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

 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循环结束后运行查询。

答案 1 :(得分:1)

您可以加入这两个表格来获取产品图片。 运行此查询

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

答案 2 :(得分:1)

或者您可以使用子请求

SELECT * FROM images WHERE product_id IN (SELECT id FROM products WHERE price < '100')