繁体   English   中英

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

[英]Database Row with Multiple JSON values - How to get a specific value

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

?>

我将如何处理收到的数据,例如,仅获取名称和电子邮件的值。 如果这个问题含糊不清或根本不是一个好问题,请对此发表评论,以便为了清楚起见我可能会更好。

您的Json似乎不正确, http://jsonlint.com/

这是我的方法:

<?
$test = '{"John": {"status":"Wait"},"Jennifer":{"status":"Active"},"James": {"status":"Active", "age":56,"count":10,"progress":0.0029857,"bad":0}}';

// decode your json  into associative arrays
$decoded = json_decode($test, true);

//easy to read the array
echo "<pre>";
print_r($decoded);
echo "</pre>";

// james age

echo "Age: ". $decoded['James']['age'];
?>

我想这就是您要寻找的。 要获取所有名称,您需要一个foreach循环

<?
$json = '{
"People": 
    [{
        "name":"peter",
        "age" :"50"
    },{
        "name":"phil",
        "age" :"25"
    },{
        "name":"mike",
        "age" :"23"
    }] 
}';

// decode your json  into associative arrays
$decoded = json_decode($json, true);

// to loop through the array
foreach($decoded['People'] as $key => $value) {

    echo 'Name: ' . $value['name'] . ' Age: ' . $value['age'] . '<br>';

}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM