我正在为我的应用程序创建一个“向下钻取” UITable。
用户将选择'country' > 'division' > 'team'
。当前,每个数据库都作为一个单独的表存在于我的数据库中,并按ID链接。
我编写了一个PHP函数来获取每个表的详细信息,并将它们放在单个数组中,以便发送给swift以在UITable中使用。
但是,此代码当前仅输出:
{“ countries”:[{“ id”:“ 1”,“ name”:“丹麦”}],“部门”:[{“ id”:“ 1”,“ country_id”:“ 1”,“名称” :“ ALKA SUPERLIGA”}],“ teams”:[{“ 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));
仅打印第一行的原因是什么?
从第二个方面来说,团队中的空值应该说'BrøndbyIF'-是否因为特殊字符而将其排除在外?
您实际上并没有遍历数据库返回的行。fetch_array
获取单个结果行作为数组。尝试类似的东西:
while ($row = $result -> fetch_array(MYSQLI_ASSOC)) {
$returnValue[] = $row;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句