簡體   English   中英

從php數據庫獲取JSON數據數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM