所以我当天的问题是,如何从使用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;