簡體   English   中英

PHP創建JSON數組數組(來自MySQL的數據)

[英]PHP Creating JSON array of arrays (data coming from MySQL)

我一直在搜索,無法獲得任何解決方案......這是我的代碼,問題在於如何創建1個大型的每個sql行數組:(注釋掉的行是一個導致錯誤)。

$result = mysqli_query($con, "SELECT * FROM  `Orders` WHERE  `userID` = " . $objData->userid . " ORDER BY  `recievedDate` DESC LIMIT 10");
        $resArray = array();    
        if ($result->num_rows > 0) {
            while($row = $result->fetch_row())
            {
                $tempArr = array("orderid" => $row[0], "orderdate" => $row[2], "orderstatus" => $row[4]);
                //$resArray = array_push((array)$resArray, (array)$tempArr);  <== problematic line commented out
            }
            echo json_encode($resArray);        
        } else {                
            echo "";    
        }

謝謝!

除了其他重要方面,你$resArray = array_push((array)$resArray, (array)$tempArr)分配array_push $resArray = array_push((array)$resArray, (array)$tempArr) ,所以json_encode($resArray)得到一個數字而不是你需要的數組。

簡單的答案是將$temparr數組推送到$resArray如下所示:

$resArray[] = $tempArr;

請注意,如果你真的想要,你也可以使用array_push()

不知道你的所有查詢都返回了什么,但是你知道你也可以將你的查詢結果作為一個數組開始嗎?

$resArray = $result->fetch_array(MYSQLI_ASSOC);

如果您的查詢返回的數量超過了數組中的需要,則只需限制查詢:

$result = mysqli_query($con, "SELECT orderid, orderdate, orderstatus FROM  `Orders` ...");
$resArray = $result->fetch_array(MYSQLI_ASSOC);

完成!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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