php-mysql查询组合
我首先搜索所有问题信息。来自问题表,包括标题、内容、用户等。 守则:php-mysql查询组合,php,mysql,Php,Mysql,我首先搜索所有问题信息。来自问题表,包括标题、内容、用户等。 守则: $sql = "select * FROM question where id>0 ORDER BY id ASC"; $result1 = mysql_query($sql); $res=Array(); 然后我想从用户表中搜索用户的点。所以我必须从result1中搜索每行中每个用户的点 守则: while($rows=mysql_fetch_assoc($result1)) {
$sql = "select * FROM question where id>0 ORDER BY id ASC";
$result1 = mysql_query($sql);
$res=Array();
然后我想从用户表中搜索用户的点。所以我必须从result1中搜索每行中每个用户的点
守则:
while($rows=mysql_fetch_assoc($result1))
{
$res[]=$rows;
$user = $rows['user'];
$sql2 = "select point from user where name='$user'";
$result2 = mysql_query($sql2);
}
我的问题是如何将所有用户的pointresult2与questions info.result1组合在一起,这样我就可以为每一行返回一个json。最好在这里使用连接,我将为您提供查询。我希望它可以帮助您
select * from question q,user u where q.id>0 ORDER BY id ASC
尝试以下方法:使用左连接
使用左键连接,作为我对这项工作的理解
$sql = "SELECT q.*, u.point AS point FROM question AS q LEFT JOIN user AS u ON q.user = u.name WHERE q.id > 0 ORDER BY q.id ASC";
$result = mysql_query($sql);
MySQL已被弃用,请考虑使用MySQL LAPI。可能有助于获得示例输入和输出,但我认为关键是现在您在while循环的每次迭代中都覆盖$result2。我相信你想要$Fult2是一个数组,然后你把每个新的结果都推到数组中。提示:考虑使用连接语句。选择问题。*,用户。从用户左边的问题加入用户点。用户=问题。感谢所有回答这个问题的人。我是mysql和php的新手。我学习了JOIN语句并解决了我的问题。非常感谢。
$sql = "SELECT q.*, u.point AS point FROM question AS q LEFT JOIN user AS u ON q.user = u.name WHERE q.id > 0 ORDER BY q.id ASC";
$result = mysql_query($sql);