簡體   English   中英

關聯數據庫中的2個表

[英]Relate 2 tables in database

我在數據庫中有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,所以我要匹配一個與另一個)

您可以嘗試運行多個內聯查詢。出於性能考慮,我不建議這樣做,但它可以使用較少數量的記錄完成工作:

 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

或者您可以使用子請求

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM