2014-01-26 62 views
0

如果我有2 MySQL數據庫具有以下字段...PHP MySQL的隨機

RequestDB: 
- Username 
- Category 

DisplayDB: 
- Username 
- Category 
- Balance 
- URL 

...它可以生成一個隨機URL條目;如果其他條件得到滿足?也可以將來自一個數據庫的值與另一個進行比較?最後,一旦生成隨機字段,可以編輯來自同一條目的其他值。例如:

IF Display.Category = Request.Category 
    AND Display.Balance > 0 
THEN Print Random URL 
    AND Display.Balance = Display.Balance - 0.10 

我知道上面不是PHP。我更習慣於VB.net,但我確信上述內容可以「翻譯」到PHP。謝謝你的幫助。

+1

你可以使用MySQL的['RAND()'](http://dev.mysql.com/doc/refman/5.0/en/mathematical的-functions.html#function_rand)function –

+0

你想隨機的URL是任意隨機數據庫行中的隨機URL嗎?如果是這樣,只需查詢顯示中的行即可。由於DisplayDB沒有要作爲主鍵關聯的ID,我想象你必須得到一個數組中的所有URL,然後計算它們有多少行,然後才能得到你想要的那一行在數組中使用你需要使用rand(0,$ count)作爲函數來創建隨機選擇。 –

回答

0

像這樣(未經):

$result = mysql_query("SELECT requestdb.*, display.* FROM requestdb INNER JOIN display ON requestdb.category=display.category ORDER BY RAND() LIMIT 0,1") or trigger_error(mysql_error()); 
while($row = mysql_fetch_array($result)){ 
foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } 
$display_url = $row['url']; 
} 
echo $display_url;