gpt4 book ai didi

php - 为什么我将 json 的显示加倍

转载 作者:行者123 更新时间:2023-11-29 19:55:59 26 4
gpt4 key购买 nike

因此,我从 php 中的两个表中获取数据,并将其编码到一个 json 对象中。我得到了我需要的一切,除了它使显示加倍。我的 teamone 位于比赛表中。它不是从数组 0 开始,而是从时间表表之后开始。这是数组 7。我不知道为什么会发生这种情况。

这是我的 php.ini。

  $sql = "SELECT * from schedule, matches;";  
$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);
?>

这是我的显示。正如您所看到的,有四个显示器,但在我的数据库中只有 2 个。它使显示器加倍。我该如何解决?谢谢

{ "schedule_response":[
{"start":"2016-11-10 00:00:00","end":"2016-11-04 00:00:00","venue":"bbbb","teamone":"aaa","teamtwo":"bbb",
"s_name":"hehehe"},
{"start":"2016-11-23 00:00:00","end":"2016-11-24 00:00:00","venue":"bbbbbbbb","teamone":"aaa","teamtwo":"bbb",
"s_name":"hehehe"},
{"start":"2016-11-10 00:00:00","end":"2016-11-04 00:00:00","venue":"bbbb","teamone":"ehe","teamtwo":"aha",
"s_name":"aaa"},
{"start":"2016-11-23 00:00:00","end":"2016-11-24 00:00:00","venue":"bbbbbbbb","teamone":"ehe","teamtwo":"aha",
"s_name":"aaa"}]}

我需要从比赛中获取 teamone、teamtwo 和 s_name 值,同时我需要在一个查询中从赛程表中获取开始、结束和地点。 Schedule table

Matches Table

最佳答案

由于您的 SQL 查询,您应该不要忘记执行某种形式的分组(从两个表中选择结果的方式定义了这一点):

 $sql = "SELECT * from schedule s, matches m GROUP BY s.id";  //I assume that your table schedule has an `id`

或者,您可以修改查询以使其更具可读性:

$sql = "SELECT s.*, m.* FROM schedule s 
INNER JOIN matches m ON m.schedule_id = s.id
GROUP BY s.id"; //I assume that you have such database design that you have defined foreign key on table `matches`.

当然,上面的INNER JOIN可能是LEFT OUTER JOIN - 这完全取决于您的数据库设计。

关于php - 为什么我将 json 的显示加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40702943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com