Запрос данных из одной таблицы на основе идентификатора из другой - PullRequest
0 голосов
/ 10 сентября 2011

Я новичок в php. У меня есть одна таблица с пользователями и другая с адресами электронной почты и идентификаторами пользователей, с которыми они связаны. Я хотел бы перечислить все адреса электронной почты по идентификатору пользователя. Я думаю, что мне нужно несколько вложенных циклов 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 Ответ

2 голосов
/ 10 сентября 2011

Есть более эффективные способы сделать это, возможно, так:

$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 , чтобы получить все данные из базы данных сразу и не запускатьнесколько запросов.

Надеюсь, что поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...