[英]Get an array of JSON data from php database
我有點不熟悉SQL,但遇到了問題。 我正在按照此處的教程進行操作,以嘗試將數據庫中的數據獲取到Android應用程序中。
我有它的工作,但只有一行。 我知道應該可以遍歷數據庫並回顯將ID與JSON匹配的每一行,但是我不知道如何。 我該怎么做?
我當前的代碼:
<?php
if($_SERVER['REQUEST_METHOD']=='GET'){
$id = $_GET['id'];
require_once('dbConnect.php');
$sql = "SELECT * FROM LATLON WHERE DeviceID='".$id."'";
$r = mysqli_query($con,$sql);
$res = mysqli_fetch_array($r);
$result = array();
array_push($result,array(
"INDEX"=>$res['INDEX'],
"DeviceID"=>$res['DeviceID'],
"LAT"=>$res['LAT'],
"LON"=>$res['LON']
)
);
echo json_encode(array("result"=>$result));
mysqli_close($con);
}
?>
編輯我對此進行了編輯,但是什么也沒得到。 仍然不太了解正在發生的事情。 感謝您的所有幫助!
<?php
if($_SERVER['REQUEST_METHOD']=='GET'){
$id = $_GET['id'];
require_once('dbConnect.php');
$sql = "SELECT * FROM LATLON WHERE DeviceID='".$id."'";
$r = mysqli_query($con,$sql);
while($row = $result->mysqli_fetch_array($r, MYSQLI_ASSOC)){
$array[] = $row;
}
echo json_encode($array);
mysqli_close($con);
}
?>
您可以通過mysqli_fetch_array();
進行迭代mysqli_fetch_array();
while($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
$array[] = $row;
}
echo json_encode($array);
當您使用OO接口時,方法名稱並非以mysqli_
開頭,該名稱僅用於過程調用。 您也沒有名為$result
變量,結果在$r
。
因此應該是:
while ($row = $r->fetch_array(MYSQLI_ASSOC)) {
要么:
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.