我一直在研究社交网络,我有一个用户可以为他们最喜欢的乐队或名人创建个人资料的fanpage表,以及另一个名为friends的表可以订阅fanpages。然后我想让这些请求出现在fanpage管理员的通知中去除。 在第一次sql查询之后,它返回具有多个值的fanpage,但是如果我回显下一个$ sql查询,则表明它只选择一个结果来查询而不是全部查询。试图从第一个查询中获得结果以搜索第二个查询
所以基本上我需要查询fanpages表的所有fan_ages created_by用户登录($ log_username),然后我需要采取这些fanpages和查询朋友表,找出是否有人要求订阅用户粉丝网页?
这行代码$ fanpage_requests =“$ fansubSql”;输出SELECT * FROM的朋友WHERE user2 ='fan4'AND accepted ='0'ORDER BY datemade ASC作为唯一结果,但由于fan3和fan4都有请求,所以应该有2个结果。
感谢您的帮助迈克尔
$fanpage_requests = '';
$fansql = "SELECT created_by, fanpage_name FROM `fanpages` WHERE created_by = '$log_username' ";
$fanquery = mysqli_query($db_conx, $fansql);
$fannumrows = mysqli_num_rows($fanquery);
if($fannumrows < 1){
$fanpage_requests = 'No friend requests';
} else {
while($row = mysqli_fetch_array($fanquery, MYSQLI_ASSOC)) {
$fanpage_name = $row["fanpage_name"];
$created_by = $row["created_by"];
$fansubSql = "SELECT * FROM friends WHERE user2='$fanpage_name' AND accepted='0' ORDER BY datemade ASC";
$fansubQuery = mysqli_query($db_conx, $fansubSql);
$fansubNumrows = mysqli_fetch_row($fansubQuery);
$fanpage_requests = "$fansubSql";
if($fansubNumrows < 1){
$fanpage_requests = "blah blah";
}
while ($fansubRow = mysqli_fetch_array($fansubQuery, MYSQLI_ASSOC)) {
$fansubreqID = $fansubRow["id"];
$fansubuser1 = $fansubRow["user1"];
$fansubdatemade = $fansubRow["datemade"];
$fansubdatemade = strftime("%B %d", strtotime($datemade));
$fansubthumbquery = mysqli_query($db_conx, "SELECT avatar FROM users WHERE username='$user1' LIMIT 1");
$fansubthumbrow = mysqli_fetch_row($thumbquery);
$fansubuser1avatar = $thumbrow[0];
$fansubuser1pic = '<img src="user/'.$user1.'/'.$user1avatar.'" alt="'.$user1.'" class="user_pic">';
if($fansubuser1avatar == NULL){
$fansubuser1pic = '<img src="images/avatardefault.jpg" alt="'.$user1.'" class="user_pic">';
}
$fanpage_requests .= '<div id="friendreq_'.$fansubreqID.'" class="friendrequests">';
$fanpage_requests .= '<a href="user.php?u='.$fansubuser1.'">'.$fansubuser1pic.'</a>';
$fanpage_requests .= '<div class="user_info" id="user_info_'.$fansubreqID.'">'.$fansubdatemade.' <a href="user.php?u='.$fansubuser1.'">'.$fansubuser1.'</a> requests friendship<br /><br />';
$fanpage_requests .= '<button onclick="fanReqHandler(\'accept\',\''.$fansubreqID.'\',\''.$fansubuser1.'\',\'user_info_'.$fansubreqID.'\')">accept</button> or ';
$fanpage_requests .= '<button onclick="fanReqHandler(\'reject\',\''.$fansubreqID.'\',\''.$fansubuser1.'\',\'user_info_'.$fansubreqID.'\')">reject</button>';
$fanpage_requests .= '</div>';
$fanpage_requests .= '</div>';
}
}
}
?>
好的,我看着你所取得的东西,并改变了第一部分看起来像这样$ fanpage_requests =''; $ fansql =“SELECT created_by,fanpage_name FROM'fanpages' WHERE created_by ='$ log_username'”; \t如果($ fanquery = mysqli_query($ db_conx,$ fansql)){ \t \t \t \t而($ fanrow = mysqli_fetch_array($ fanquery,MYSQLI_ASSOC)){ $ fanpage_name = $ fanrow [ “fanpage_name”]; $ created_by = $ fanrow [“created_by”]; \t \t \t $ fansubSql =“SELECT * FROM friends WHERE user2 ='$ fanpage_name'AND accepted ='0'ORDER BY datemade ASC”; – 2013-03-13 12:19:26
但仍然没有区别 – 2013-03-13 12:19:58
调试您的代码:使用“echo”在执行前打印变量或查询的值。使用“print_r”显示查询返回的记录。启用错误报告,检查您的错误日志。告诉我们你需要什么帮助,发布一个简短的相关代码片段,以及你得到的确切错误信息。你不使用“mysqli_error()”,你怎么知道你的一个查询是否失败? – Jocelyn 2013-03-13 15:28:46