我是php的新手。我有一个包含用户的表,另一个包含与之关联的电子邮件地址和用户ID。我想按用户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 :(得分: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一次从数据库中获取所有数据,而不是运行多个查询。
希望有所帮助。