根据另一个表中的id查询一个表中的数据

时间:2011-09-09 23:34:20

标签: php mysql foreach while-loop

我是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
}

由于

1 个答案:

答案 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一次从数据库中获取所有数据,而不是运行多个查询。

希望有所帮助。

相关问题