我正在为我的应用创建一个'Drill-Down'UITable。
用户将选择'country' > 'division' > 'team'
。每个当前在我的数据库中作为单独的表存在,并通过id链接。
我编写了一个PHP函数来获取每个表的详细信息,并将它们放在一个数组中,以便发送到swift以便在UITable中使用。
但是,此代码目前仅输出:
{ “国家”:[{ “ID”: “1”, “名称”: “丹麦”}], “部门”:[{ “ID”: “1”, “COUNTRY_ID”: “1”, “姓名”:“ALKA SUPERLIGA”}],“团队”:[{“id”:“1”,“division_id”:“1”,“name”:null}]}
我希望这能找回所有内容
$countries = array();
$countries = getCountries($countries);
$divisions = array();
$divisions = getDivisions($divisions);
$teams = array();
$teams = Teams($teams);
public function getCountries()
{
$returnValue = array();
$sql = "select * from countries";
$result = $this->conn->query($sql);
if($result != null && (mysqli_num_rows($result) >= 1)){
$row = $result -> fetch_array(MYSQLI_ASSOC);
if(!empty($row)){
$returnValue[] = $row;
}
}
return $returnValue;
}
public function getDivisions()
{
$returnValue = array();
$sql = "select * from divisions";
$result = $this->conn->query($sql);
if($result != null && (mysqli_num_rows($result) >= 1)){
$row = $result -> fetch_array(MYSQLI_ASSOC);
if(!empty($row)){
$returnValue[] = $row;
}
}
return $returnValue;
}
public function getTeams()
{
$returnValue = array();
$sql = "select * from teams";
$result = $this->conn->query($sql);
if($result != null && (mysqli_num_rows($result) >= 1)){
$row = $result -> fetch_array(MYSQLI_ASSOC);
if(!empty($row)){
$returnValue[] = $row;
}
}
return $returnValue;
}
echo json_encode(array('countries' => $countries,'divisions' => $divisions,'teams' => $teams));
只打印第一行的原因是什么?
在次要说明中,团队中的null应该说'BrøndbyIF' - 是否由于特殊字符而将其踢出?
答案 0 :(得分:2)
您实际上并没有遍历从数据库返回的行。 fetch_array
将单个结果行作为数组提取。尝试类似:
while ($row = $result -> fetch_array(MYSQLI_ASSOC)) {
$returnValue[] = $row;
}