将结果从Sql转换为Json

时间:2012-09-07 01:20:19

标签: php sql json

我有这个代码php

$query2 = "SELECT * FROM hosts where cod='$stream'";
    $result2=mysql_query($query2);
    while ($row2=mysql_fetch_array($result2)) 
    {
$audio=$row2['audio'];
$def=$row2['def'];
$hosty=$row2['host'];   
    }

我如何以这种格式将结果发送给json:

var sources = {"english":{"360":["bayfiles","filebox","zalaa","cramit"],"720":["cramit","180upload"]},"portugues":{"1080p":["zalaa","cramit"],"720":["cramit","180upload"]}}

可能吗?

由于

4 个答案:

答案 0 :(得分:2)

如果要创建一个输出数组,所有查询都应使用辅助数组,以获取每一行。

 $arrayAux=array();
 $query2 = "SELECT * FROM hosts where cod='$stream'";
    $result2=mysql_query($query2);
    while ($row2=mysql_fetch_array($result2,MYSQL_ASSOC)) 
    {
        $audio=$row2['audio'];
        $def=$row2['def'];
        $hosty=$row2['host'];  
        push_array(array("audio"=>$audio,"def"=>$def,"host"=>$hosty)); 
    }
  print(json_encode($arrayAux));

PS:我不明白你是想删除所有查询还是仅应用于一个查询。 如果它只有一个:

  1. 消除arrayAux。
  2. 消除时间。
  3. 直接制作print (json_encode (mysql_fetch_array ($ query2, MYSQL_ASSOC)));

答案 1 :(得分:1)

您可以使用PHP函数json_encode()并将其传递到与您想要的格式匹配的数组中。

答案 2 :(得分:0)

使用json_encode()

echo json_encode($arr);

答案 3 :(得分:0)

是的,这可以通过使用PHP的json_encode()函数来实现。

  

json_encode - 返回值

的JSON表示

但是,为了获得多维对象,您可能必须执行更多查询或者可能迭代从第一个查询获得的某些值。然后,您将在多维PHP数组中构建数据,并在整个对象上执行json_encode()函数。

$arr = array(
  'a' => 1, 
  'b' => 2, 
  'c' => array(
    'd'=>3,
    'e'=>4
  )
);

echo json_encode($arr);


{
  "a":1,
  "b":2,
  "c":{ 'd':3,"e":4}
}