簡體   English   中英

json數組在數組sql中選擇

[英]json array in the array sql select

我對Seelct查詢有問題..我想在數組的json數組中顯示它。這是我的代碼

我有這樣的查詢:

<?php 
$server_name="localhost";
$mysql_user="root";
$db_name ="db_mtma";
$mysql_pass ="";

mysql_connect($server_name, $mysql_user,"");
mysql_select_db($db_name);
// $con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name);



$result = array();
$query = "SELECT id_lw,gambar_lw,nama_p,COUNT(nama_p) AS jumlah_lw_by_nama_p,nama_k,COUNT(nama_k)
            from lokasi_wisata JOIN
            provinsi as provinsi ON provinsi.IDProvinsi = lokasi_wisata.IDProvinsi JOIN
            kabupaten as kabupaten ON kabupaten.IDKabupaten = lokasi_wisata.IDKabupaten WHERE status_lw=1 GROUP BY nama_p" ;
$res = mysql_query($query);

while ($fetch = mysql_fetch_assoc($res)) {
    $result[] = $fetch;
}
// print_r($result);
echo mysql_error();
echo json_encode(array('result'=>$result));

?>

json的結果如下:

{
  "result": [
    {
      "id_lw": "22",
      "gambar_lw": "1475251768.jpg",
      "nama_p": "ACEH",
      "jumlah_lw_by_nama_p": "1",
      "nama_k": "KOTA SABANG",
      "COUNT(nama_k)": "1"
    },
    {
      "id_lw": "9",
      "gambar_lw": "1475160516.jpg",
      "nama_p": "BALI",
      "jumlah_lw_by_nama_p": "3",
      "nama_k": "BULELENG",
      "COUNT(nama_k)": "3"
    },

等等..

我想要我的結果數據如下:

 "id_lw": "9",
              "gambar_lw": "1475160516.jpg",
              "nama_p": "BALI",
              "jumlah_lw_by_nama_p": "3",
              "nama_k": {"BULELENG" "1","TABANAN" "2"} 

我想選擇所有的nama_k,我想知道每個nama_k列中有多少數據

thx stackoverflow

示例圖片: 在此處輸入圖片說明

試試這個對你有用.....

<?php 
$server_name="localhost";
$mysql_user="root";
$db_name ="db_mtma";
$mysql_pass ="";

mysql_connect($server_name, $mysql_user,"");
mysql_select_db($db_name);
// $con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name);



$result = array();
$query = "SELECT id_lw,gambar_lw,nama_p,COUNT(nama_p) AS jumlah_lw_by_nama_p,nama_k,COUNT(nama_k)
            from lokasi_wisata JOIN
            provinsi as provinsi ON provinsi.IDProvinsi = lokasi_wisata.IDProvinsi JOIN
            kabupaten as kabupaten ON kabupaten.IDKabupaten = lokasi_wisata.IDKabupaten WHERE status_lw=1 GROUP BY nama_p" ;
$res = mysql_query($query);
$result=array();
while ($fetch = mysql_fetch_assoc($res)) {
    $result['id_lw'][$fetch['id_lw']] = $fetch;
}
// print_r($result);
echo mysql_error();
echo json_encode(array('result'=>$result));

解決:

<?php 
$server_name="localhost";
$mysql_user="root";
$db_name ="db_mtma";
$mysql_pass ="";

mysql_connect($server_name, $mysql_user,"");
mysql_select_db($db_name);
// $con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name);



$result = array();
$query = "SELECT id_lw,gambar_lw,left(deskripsi_lw,100)deskripsi_lw,latitude_lw,longitude_lw,nama_p,provinsi.IDProvinsi id_provinsi,kabupaten.IDKabupaten id_kabupaten,COUNT(nama_p) AS jumlah_lw_by_nama_p,nama_k,COUNT(nama_k), judul_lw
from lokasi_wisata JOIN
provinsi as provinsi ON provinsi.IDProvinsi = lokasi_wisata.IDProvinsi JOIN
kabupaten as kabupaten ON kabupaten.IDKabupaten = lokasi_wisata.IDKabupaten WHERE status_lw=1 GROUP BY nama_p, nama_k, id_lw";
$res = mysql_query($query);

$n = 0;
while ($fetch = mysql_fetch_array($res)) {
    $result[$n] = $fetch;
    $n++;
}
// print_r($result);

$data = array();
echo mysql_error();
foreach ($result as $r) {
    $data[$r['nama_p']]['nama_p'] = $r['nama_p'];
    $data[$r['nama_p']]['list_kota'] [$r['nama_k']] ['list_lw'][$r['id_lw']] ['nama_kabupaten'] = $r['nama_k'];
    $data[$r['nama_p']]['list_kota'] [$r['nama_k']] ['list_lw'][$r['id_lw']] ['judul_lw'] = $r['judul_lw'];
    $data[$r['nama_p']]['list_kota'] [$r['nama_k']] ['list_lw'][$r['id_lw']] ['longitude_lw'] = $r['longitude_lw'];
    $data[$r['nama_p']]['list_kota'] [$r['nama_k']] ['list_lw'][$r['id_lw']] ['latitude_lw'] = $r['latitude_lw'];
    $data[$r['nama_p']]['list_kota'] [$r['nama_k']] ['list_lw'][$r['id_lw']] ['gambar_kabupaten'] = $r['gambar_lw'];


    $data[$r['nama_p']]  ['gambar_lw'] = $r['gambar_lw'];
    $data[$r['nama_p']]  ['id_lw'] = $r['id_lw'];
    $data[$r['nama_p']]  ['nama_p'] =$r['nama_p'];
    // $data[$r['nama_p']]  ['jumlah_lw_by_nama_p'] = count($data[$r['nama_p']] [$r['nama_k']]);

}

$rs = array();

    foreach ($data as $d) {
    $n=0;


    $i = 0;
    $jumlah_lw = 0;
    foreach ($d['list_kota'] as $key => $r) {
        $u = 0;
        foreach ($r['list_lw'] as $l) {
            $rs[$d['nama_p']] ['kabupaten'] [$key][$u] ['judul_lw'] = $l['judul_lw'];
            $rs[$d['nama_p']] ['kabupaten'] [$key][$u] ['latitude_lw'] = $l['latitude_lw'];
            $rs[$d['nama_p']] ['kabupaten'] [$key][$u] ['longitude_lw'] = $l['longitude_lw'];
            $rs[$d['nama_p']] ['kabupaten'] [$key]['gambar_kabupaten'] = $l['gambar_kabupaten'];

            $u++;
            $jumlah_lw++;
        }
        $rs[$d['nama_p']] ['kabupaten'] [$key]['nama_kabupaten'] = $key;
        $rs[$d['nama_p']] ['kabupaten'] [$key]['jumlah_lw_k'] = $u;
        $i++;
    }
    $rs[$d['nama_p']] ['nama_p'] = $d['nama_p'];
    $rs[$d['nama_p']] ['id_lw'] = $d['id_lw'];
    $rs[$d['nama_p']] ['gambar_provinsi'] = $d['gambar_lw'];
    $rs[$d['nama_p']] ['jumlah_lw_p'] = $jumlah_lw;
    $n++;
}


echo json_encode(array('provinsi'=>$rs));
die();

// echo json_encode (array('provinsi'=>$data));die();   

暫無
暫無

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

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