2011-09-09 50 views
-2

我是新來的PHP。我有一個表與用戶和另一個與他們相關聯的電子郵件地址和用戶標識。我想按用戶ID列出所有電子郵件地址。我想我需要一些嵌套的while循環,但不知道如何去做...任何幫助表示讚賞。從一個表中查詢基於另一個表的數據

$rows = mysql_num_rows(mysql_query("SELECT * FROM users")); 
$data = mysql_fetch_array(mysql_query("SELECT * FROM users")); 

$i==0; 
while ($i < $rows){ 
    $.... this is where i'm lost 
} 

感謝

+0

這是一個非常糟糕的問題。您需要提供有關表格實際模式的信息,顯示數據樣本,並演示如果您希望有人提供幫助,所需的輸出結果。 –

+0

@ken white,我留下了詳細信息,以得到一個非常一般的答案,如下面的那個 –

回答

2

有更好的方法來做到這一點,也許像這樣:

$query = mysql_query("SELECT * FROM users"); 
// Loop through the users 
while ($row = mysql_fetch_array($query) { 
    $query2 = mysql_query('SELECT * FROM emails WHERE user_id = ' . $row['id']); 
    // Loop through this user's email addresses 
    while ($row2 = mysql_fetch_array($query2) { 
    // Build up a string/array for your output with the email addresses in $row2['field_name'] 
    } 
} 

你也可以使用一個MySQL JOIN來從數據庫中獲取的所有數據一次,而不是運行多個查詢。

希望有所幫助。

+0

這就是我正在尋找的基本答案 –

相關問題