我怎样才能使代码
$requests = mysql_query("SELECT * FROM friend_reqs WHERE user_to={$_SESSION['user']['user_id']}");<br />
$users = mysql_query("SELECT user_name, user_pic FROM users WHERE user_id={?}");
>echo "`<h2>Pending Requests</h2>`";
>echo "`<center><table class='squish'>";
if(mysql_num_rows($requests) >= 1){
while($un = mysql_fetch_assoc($users)){
echo "<tr><form action='' method='post'>";
echo "<img src='https://www.mastergamersocial.com/user_pics/".$un['user_pic']."' alt='".$un['user_name']."' width='50px' height='50px' />".$un['user_name'];
echo "<input class='a-button' type='submit' value='Accept' name='yes' />";
echo "<input class='a-button' type='submit' value='Decline' name='no' />";
echo "</form><br /></tr>";
}
} else {
echo "<tr><h3>You have no friend requests.</h3></tr>";
}
echo "</table></center>";
对于草率的代码感到抱歉。我需要得到它,以便从发送请求的用户中提取user_id和name。但除非我稍后调用查询,否则我无法弄清楚如何获取它。但我需要在查询时调用它。
答案 0 :(得分:2)
根据您的评论总结,如果您需要来自user_from
的{{1}}的第一个值,您只需在查询后获取第一条记录,然后将其插入第二条记录中,如:
$requests
现在,如果您的$requests = mysql_query("SELECT * FROM friend_reqs WHERE user_to={$_SESSION['user']['user_id']}");
$row = mysql_fetch_assoc($requests);
$from_user = $row['user_from'];
$users = mysql_query("SELECT user_name, user_pic FROM users WHERE user_id={$from_user}");
正在返回多条记录,并且您希望对每个$requests
值执行$users
。然后,您必须循环运行第二个查询。
您可以通过不同的变量多次获取一个查询,如果这是您不清楚的内容。
Please, don't use mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。