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循环,就像您迭代第一个查询的结果一样。谢谢-这似乎是一种更简单的方法。谢谢-这似乎是一种更简单的方法。