Php 在mysqli结果中循环

Php 在mysqli结果中循环,php,mysqli,Php,Mysqli,我试图显示登录用户正在跟踪的艺术家状态更新列表 到目前为止,我有: #Get the list of artists that the user has liked $q = "SELECT * FROM artist_likes WHERE user_id = '1' "; $r = mysqli_query($dbc,$q); while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { #Now grab the statuses for

我试图显示登录用户正在跟踪的艺术家状态更新列表

到目前为止,我有:

#Get the list of artists that the user has liked
$q = "SELECT * FROM artist_likes WHERE user_id = '1' ";
$r = mysqli_query($dbc,$q);
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

  #Now grab the statuses for each artist
  $status_query = "SELECT * FROM status_updates WHERE artist_id = '".$row['artist_id']."' ";
  $status_result = mysqli_query($dbc,$status_query)

}
但我不知道如何循环并显示返回的状态更新


这不是我的强项,所以任何指点都将不胜感激

是什么阻止您执行与第一次查询类似的操作?大致如下:

#Get the list of artists that the user has liked
$q = "SELECT * FROM artist_likes WHERE user_id = '1' ";
$r = mysqli_query($dbc,$q);
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

  #Now grab the statuses for each artist
  $status_query = "SELECT * FROM status_updates WHERE artist_id = '".$row['artist_id']."' ";
  $status_result = mysqli_query($dbc,$status_query)

  while($status_result_row = mysqli_fetch_assoc($status_result)) {
    echo $status_result_row['mycol']; // This is where you know better than us
  }
}

或者,如果这两个表
artist\u likes
status\u updates
artist\u id
的共同点,那么您可以只使用一个带有联接的查询。(但不知道您是否要求这样做)。

是什么阻止您执行与第一次查询类似的操作?大致如下:

#Get the list of artists that the user has liked
$q = "SELECT * FROM artist_likes WHERE user_id = '1' ";
$r = mysqli_query($dbc,$q);
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

  #Now grab the statuses for each artist
  $status_query = "SELECT * FROM status_updates WHERE artist_id = '".$row['artist_id']."' ";
  $status_result = mysqli_query($dbc,$status_query)

  while($status_result_row = mysqli_fetch_assoc($status_result)) {
    echo $status_result_row['mycol']; // This is where you know better than us
  }
}

或者,如果这两个表
artist\u likes
status\u updates
artist\u id
的共同点,那么您可以只使用一个带有联接的查询。(但不知道您是否要求这样做)。

为了避免多次查询,您可以使用如下一种查询:

SELECT l.*, s.* 
from artist_likes l, status_updates s
WHERE
l.artist_id = s.artist_id and
l.user_id = '1'


为了避免多个查询,您可以使用如下一个查询:

SELECT l.*, s.* 
from artist_likes l, status_updates s
WHERE
l.artist_id = s.artist_id and
l.user_id = '1'


使用内部while循环,就像您迭代第一个查询的结果一样。使用内部while循环,就像您迭代第一个查询的结果一样。谢谢-这似乎是一种更简单的方法。谢谢-这似乎是一种更简单的方法。