2013-03-04 65 views
1

$comapre是一個數組,其中包含從上一頁傳遞過來的唯一產品ID。因此,我想在數據庫中使用該數據庫查找productid,從array($compare)獲取每個productid對應的產品的價格。我應該如何比較php腳本中的兩種不同產品價格?

到目前爲止,我可以按以下格式

的productid顯示使用productid$compare(array相關產品信息)|產品名稱|價格|
20_ _ __ _ _ | __iphone5_ _ | _529 |

我使用的代碼:

foreach($compare as $value) { 

    $query = mysql_query("SELECT * FROM `product_info` WHERE `productid`=".$value.""); 
    echo "<table border='1' bordercolor='#000066'> 
       <tr> 
        <th>productid</th> 
        <th>product name</th><br /> 
        <th>price</th> 
       </tr>"; 

    while ($query_row=mysql_fetch_assoc($query)) { 
     echo "<tr bgcolor='#F5FFFF'>"; 
      echo "<td>". $query_row['productid']. "</td>"; 
      echo "<td>". $query_row['title']. "</td>"; 
      echo "<td>". $query_row['price']."</td>"; 
     echo "</tr>"; 
    }   
    echo "</table>";  
} 

請給我任何建議,如何比較各產品的價格,並說像「產品A是£_價格比產品B」類似的事情也會work.please幫助。

+1

正如一個不相關的提示,不再使用的mysql_query,使用庫MySQLi或PDO,http://www.php.net/manual/en/mysqlinfo.api.choosing.php – MLeFevre 2013-03-04 13:05:45

+0

如何價格存儲在數據庫中? – Cups 2013-03-04 13:19:13

+0

價格是使用INSERT INTO數據庫存儲的。其實我在網站上有一個上傳頁面,我可以從網頁直接上傳數據到數據庫。所以價格已經存儲在數據庫中。 – 2013-03-04 14:13:38

回答

0

將價格移動到一個新的數組,如product_prices []。

$product_prices['$productID'] = $query_row['price']; 

然後,您可以通過增加/降低價格順序對此數組進行排序,然後減去各個鍵之間的價格。

您如何使用product_prices數組完全由您和您擁有的用例決定。

+0

嘿,我以爲我有這個想法,但實際上我有點卡住陣列。當我創建一個新的數組時,我得到了價格數組,但沒有回到相關產品的價格。是清楚的(我對不起,我的解釋是可怕的),但任何建議?我想比較價格,然後想要顯示產品a比產品b便宜。類似的東西。任何提示? – 2013-03-04 19:55:44

+0

創建新數組時重要的是數組中每個元素的關鍵應該是productID而不是0,1,2 ... – Girish 2013-03-06 10:17:51

0

不相關 - 你可以通過使用mysql的IN子句來擺脫foreach循環。

$query = mysql_query("SELECT * FROM `product_info` WHERE `productid` IN (.join(",", $value).")"; 
0
SELECT * FROM your_table WHERE price_a <= price_b; 
相關問題