2016-11-21 228 views
7

我的代码有问题。我对我的第二张桌子有同样的回应。在第一个中,它会转到下一列。第二张表的相同响应

PHP

$sql = "SELECT * from schedule s, matches m GROUP BY s.id"; 
$con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name); 
$result = mysqli_query($con,$sql); 


$response = array(); 


while($row=mysqli_fetch_array($result)) 

{ 
array_push($response, array("start"=>$row[4],"end"=>$row[5],"venue"=>$row[6], "teamone"=>$row[8], "teamtwo"=>$row[9], 
"s_name"=>$row[17])); 

} 

echo json_encode (array("schedule_response"=>$response)); 




mysqli_close($con); 
?> 

这是我收到的响应。正如你可以看到teamone一样,teamtwo和s_name都是一样的。它没有得到第二列的值。

{"schedule_response":[ 
{"start":"2016-11-23 00:00:00","end":"2016-11-24 00:00:00","venue":"bbbb", 
"teamone":"aaa","teamtwo":"hehe","s_name":"sssss"}, 
{"start":"2016-11-22 00:00:00","end":"2016-11-23 00:00:00","venue":"aaaaaaa", 
"teamone":"aaa","teamtwo":"hehe","s_name":"sssss"}]} 

计划表 enter image description here

匹配表 enter image description here

+0

你需要添加'where s.m_id = m.m_id' – Blinkydamo

+0

当我添加where s.m_id = m.m_id – orange

+0

'SELECT * from schedule as s,matches as m where s.m_id = m.m_id GROUP BY s.id'。如果你在's.m_id'中有一个与'm.m_id'相匹配的id,那么它应该拉一些东西。 – Blinkydamo

回答

1

您可以查询

$sql = "SELECT * from schedule as s, matches as m where s.m_id = m.m_id GROUP BY s.id"; 

定义M_ID

+1

这与上述注释相同,OP说它不起作用。 – Blinkydamo

0

要确保你得到“一些答案”,即使没有数据被正确链接,需要您给我们LEFT JOIN:

SELECT * 
FROM schedule s 
LEFT JOIN matches m ON s.m_id=m.m_id 

在此背景下GROUP BY可能是不必要的。取决于你的数据结构

相关问题