具有多个JSON值的数据库行 - 如何获取特定值

时间:2015-06-15 10:34:26

标签: php json

所以我当天的问题是,如何从使用Php的多个JSON值的单个数据库行中获取特定值。

数据已经放入数据库中:

a:7:{s:5:"cname";s:4:"enes";s:6:"cemail";s:22:"EnesDemirICT@gmail.com";s:8:"caddress";s:18:"Florisvosstraat 56";s:4:"ctel";s:12:"+31685035990";s:9:"ccomments";s:5:"fdfsf";s:15:"wppizza-gateway";s:3:"cod";s:12:"wppizza_hash";s:64:"34e24d48186596cae445d52c5b0650d20c8a7c215ef1fe323ca6f09b7f804a8d";}

所以当然我已经有了从数据库中获取此代码的代码,如下所示。

<?php 

header('content-type:application/json');

mysql_connect('localhost','root','') or die(mysql_error());

mysql_select_db('depits');

$select = mysql_query("SELECT * FROM `test_json`");

$rows=array();


while($row=mysql_fetch_array($select))
{
    $rows[] = $row;
}

echo json_encode($rows);

?>

我如何能够处理收到的数据,例如,只获得姓名和电子邮件的价值。如果这个含糊不清或根本不是一个好问题,请对它进行评论,以便为了清晰起见我可能会更好。

1 个答案:

答案 0 :(得分:1)

您的Json似乎不正确,http://jsonlint.com/ 我是这样做的: &LT ;? $ test =&#39; {&#34; John&#34;:{&#34; status&#34;:&#34; Wait&#34;},&#34; Jennifer&#34;:{&#34 ;状态&#34;:&#34;活跃&#34;},&#34;詹姆斯&#34;:{&#34;状态&#34;:&#34;活跃&#34;,&#34;年龄&# 34;:56,&#34;计数&#34;:10,&#34;进度&#34;:0.0029857,&#34;坏&#34;:0}}&#39 ;; //将您的json解码为关联数组 $ decoding = json_decode($ test,true); //易于阅读数组 echo&#34;&lt; pre&gt;&#34 ;; 的print_r($解码); echo&#34;&lt; / pre&gt;&#34 ;; //詹姆斯年龄 回声&#34;年龄:&#34;。 $解码[&#39;詹姆斯&#39;] [&#39;年龄&#39;]; ?&GT; 我猜这就是你要找的东西。要获得所有名称,您需要一个foreach循环 &LT ;? $ json =&#39; { &#34;人&#34 ;:     [{         &#34;名称&#34;:&#34;彼得&#34 ;,         &#34;年龄&#34; :&#34; 50&#34;     },{         &#34;名称&#34;:&#34;菲尔&#34 ;,         &#34;年龄&#34; :&#34; 25&#34;     },{         &#34;名称&#34;:&#34;麦克风&#34 ;,         &#34;年龄&#34; :&#34; 23&#34;     }] }&#39 ;; //将您的json解码为关联数组 $ decoding = json_decode($ json,true); //循环遍历数组 foreach($ decode [&#39; People&#39;] as $ key =&gt; $ value){     echo&#39;姓名:&#39; 。 $ value [&#39; name&#39;]。 &#39;年龄:&#39; 。 $ value [&#39; age&#39;]。 &#39;&LT峰; br&GT;&#39 ;; } ?&GT;