簡體   English   中英

讀取MySQL表的列作為單獨的JSON對象

[英]Reading columns of MySQL table as separate JSON object

我正在從MySQL表中讀取數據,如下所示:

while($row=mysql_fetch_assoc($result))
{
   $tmp[]=$row;
}

它將整行作為tmp數組中的單個項讀取,但我希望將單個列的所有值放在一個單獨的數組中。 例如,如果我的表是:

     -------------------
      Honda  Suzuki  BMW
     -------------------
      Accord  Alto   abc
      Acty    Baleno xyz

我明白了:

     [{"Honda":"Accord","Suzuki":"Alto","BMW":"abc"},
      {"Honda":"Acty","Suzuki":"Baleno","BMW":xyz"}]

但我想要這個:

     [ Honda:{Accord,Acty},
       Suzuki:{Alto,Baleno},
       BMW:{abc,xyz}
     ]

有人可以告訴我應該如何構建這樣的數據?

我懷疑你的意思

{ "Honda":["Accord","Acty"],
  "Suzuki":["Alto","Baleno"],
  "BMW":["abc","xyz"]
}

你會得到的

$tmp=array();
while($row=mysql_fetch_assoc($result))
  foreach($row as $name=>$value)
    //Next 2 lines updated after input from comment
    if (!$value) continue;
    else if (!isset($tmp[$name])) $tmp[$name]=array($value);
    else $tmp[$name][]=$value;
$tmp=json_encode($tmp);

暫無
暫無

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

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