Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

cara mengembalikan pilih mysql sebagai array array di json menggunakan php

Untuk json_encode untuk mengembalikan larik larik JSON, Anda memerlukan larik yang diindeks secara numerik.

Ini dapat diperoleh dengan fungsi umum berikut:

    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);
    }

Digunakan sebagai berikut:

    <?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();
    ?>

Di mana jsTable akan secara efektif menjadi array array. Perhatikan opsi withNames memungkinkan untuk menambahkan nama kolom sebagai baris pertama, berguna jika Anda mencoba meneruskan array ini ke javascript untuk google visualisasi .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengetahui ukuran Indeks di MySQL

  2. mysql setelah memasukkan pemicu yang memperbarui kolom tabel lain

  3. Riwayat kueri meja kerja MySql ( kueri/kueri yang terakhir dieksekusi) yaitu membuat/mengubah tabel, memilih, menyisipkan kueri pembaruan

  4. Bagaimana saya bisa menghitung jumlah total kueri MySQL yang digunakan per halaman?

  5. Operasi tidak diizinkan setelah ResultSet ditutup (mysql, java)