Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

cách trả về mysql select dưới dạng một mảng mảng trong json bằng php

Đối với json_encode để trả về một mảng JSON của mảng, bạn cần một mảng được lập chỉ mục số.

Điều này có thể đạt được bằng hàm chung sau:

    function SqlSelectToJsonTable($result,$withNames=false){
        // result a mysqli::query object, 
        // withNames: boolean, should the column names be returned as first row
        $return_arr = array();
        echo $result->num_rows;
        if ($result->num_rows > 0){
            if($withNames == true){
                $return_arr[0] = array();
                $fields = $result->fetch_fields();
                foreach ($fields as $field){
                    echo "column: ".$field->name." ";
                    array_push($return_arr[0],$field->name);
                }
            }
            while($row = $result->fetch_assoc()) {
                $return_arr[]= array_values($row);
            }
        } else {
            echo "0 results";
        }
        return json_encode($return_arr);
    }

Được sử dụng như sau:

    <?php
    $servername = "localhost";
    $username = "user";
    $password = "password";
    $dbname = "test";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "SELECT id, title FROM Posts";
    $result = $conn->query($sql);

    $jsonTable = SqlSelectToJsonTable($result);
    echo '<br/>'.$jsonTable;

    echo "<script type=\"text/javascript\">
        var jsTable = JSON.parse('".$jsonTable."');
        </script>";

    $conn->close();
    ?>

Trong đó jsTable thực sự sẽ là một mảng của các mảng. Lưu ý tùy chọn withNames cho phép thêm tên cột làm hàng đầu tiên, hữu ích nếu bạn cố gắng chuyển mảng này sang javascript cho google hình dung .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. làm thế nào để chọn một hàng trong đó một trong một số cột bằng một giá trị nhất định?

  2. Phiên MySQL Workbench không thấy các bản cập nhật cho cơ sở dữ liệu

  3. Khôi phục sau khi truy vấn cập nhật MySQL sai?

  4. Làm thế nào để xóa thác khi cha mẹ và ID con nằm trên cùng một bảng?

  5. cách mở nhiều mô hình / cơ sở dữ liệu trong bàn làm việc mysql