通过php将mysql查询转换为json对象

时间:2011-11-17 12:00:32

标签: php mysql json

我有一个问题是修改和转换php数组到json对象,数组通过mysql查询形成。 所需的json格式如下:

{
"uy":[
        {
    "pid": "23334",
    "t":[
        {
        "k": "Serkan AKYAKA",
        "msj":"message1",
        "tar": "24 Mayis 2011"
        },
        {
        "k": "Ali AKTAS",
        "msj":"message1",
        "tar": "01 Nisan 2011"
        }           
        ]
         },
    {
    "pid": "234534",
    "t":[
        {
        "k": "Gulden DURAY",
        "msj":"message1",
        "tar": "17 Haziran 2011"
        },
        {
        "k": "Ali AKTAS",
        "msj":"message1",
        "tar": "05 Mayis 2011"
        }           
        ]
    }  
] 
} 

我有一张包含以下数据的表格:

  

pid(非唯一),k(非唯一),msg(消息文本),日期(消息日期)

我有像下面的PHP代码,但我无法设法转换我想要的json对象

$op='{';
mysql_select_db($database, $rdb);
$query_tav="SELECT pid, k, msj, tar FROM u_t WHERE rid=1 ORDER BY ABS(id)";
$r_tav = mysql_query($query_tav, $rdb) or die(mysql_error());
$tav = mysql_fetch_assoc($r_tav);
row_sayi = mysql_num_rows($r_tav);
if ($row_sayi > 0) {
    do {
        $op=$op.'"t":['.json_encode($tav).'],';
    } while ($tav = mysql_fetch_assoc($r_tav));
}
$op=$op.'}';

上面的PHP代码有很多缺失,但我无法弄清楚如何去做。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你看过json_encode和json_decode吗?

http://php.net/manual/en/function.json-encode.php