如何使用MySQL数据库在PHP中创建JSON数组

如何使用MySQL数据库在PHP中创建JSON数组,php,json,Php,Json,我需要PHP代码将数据保存到JSON文件 所需成果: “日历”:[{ “Pariharam”:“Pariharam”, “Palamozhi”:“Palamozhi”, “占星术”:[ { “星象id”:“每日星象id”, “Rasiname”:“Rasi”, “ShortDescription”:“shot_desc”, “长描述”:“长描述” }, } ] 我的代码: $sql=mysql_query("select * from daily_calendar_tbl"); $respon

我需要PHP代码将数据保存到JSON文件

所需成果: “日历”:[{ “Pariharam”:“Pariharam”, “Palamozhi”:“Palamozhi”, “占星术”:[ { “星象id”:“每日星象id”, “Rasiname”:“Rasi”, “ShortDescription”:“shot_desc”, “长描述”:“长描述” }, } ]

我的代码:

$sql=mysql_query("select * from daily_calendar_tbl"); 
$response = array();
$posts = array();
//$result=mysql_query($sql);
while($row=mysql_fetch_array($sql)) 
{ 
$caldate=$row['cal_date']; 
$tamilyear=$row['tamil_year']; 
$tamilmonth=$row['tamil_month']; 
$tamildate=$row['tamil_date']; 
$gtms=$row['gt_mrg_str']; 
$gtme=$row['gt_mrg_end']; 
$gtes=$row['gt_eve_str']; 
$gtee=$row['gt_eve_end']; 
$ggtms=$row['gow_mrg_str']; 
$ggtme=$row['gow_mrg_end']; 
$ggtes=$row['gow_eve_str']; 
$ggtee=$row['gow_eve_end']; 
$rst=$row['ragu_str']; 
$ret=$row['ragu_end']; 
$gst=$row['guli_str']; 
$get=$row['guli_end']; 
$yst=$row['yema_str']; 
$yet=$row['yema_end']; 
$sut=$row['sur_udha']; 
$suras=$row['sur_astha']; 
$yogam=$row['yogam']; 
$chantrs=$row['chandrashtama']; 
$soolam=$row['soolam']; 
$phariharam=$row['pariharam']; 
$palamozhi=$row['palamozhi']; 


$selrasi=mysql_query("select * from daily_horoscope_tbl where horoscope_date='$caldate'");

while($rasidata=mysql_fetch_array($selrasi)){
    $horoid=$rasidata["daily_horoscope_id"];
    $rasiname=$rasidata["rasi"];
    $shortdesc=$rasidata["shot_desc "];
    $long_desc=$rasidata["long_desc"];  
    $horoscopedata[]=array('HoroscopeID'=> $horoid, 'Rasiname'=> $rasiname, 'ShortDescription'=>$shortdesc,'LongDescription'=> $long_desc);
}

$horoscopesres=$horoscopedata;

$posts[] = array('CalendarDate'=> $caldate, 'TamilYear'=> $tamilyear, 'TamilMonth'=>$tamilmonth,'TamilDate'=> $tamildate, 'GoodTimeMorningStart'=> $gtms, 
'GoodTimeMorningEnd'=>$gtme,'GoodTimeEveningStart'=> $gtes, 'GoodTimeEveningEnd'=> $gtee, 'GowriGoodTimeMorningStart'=>$ggtms,'GowriGoodTimeMorningEnd'=> $ggtme, 'GowriGoodTimeEveningStart'=> $ggtes,
 'GowriGoodTimeEveningEnd'=>$ggtee,'RahuStartTime'=> $rst, 'RahuEndTime'=> $ret, 'GulikaiStartTime'=>$gst,'GulikaiEndTime'=> $get, 'YamagandamStartTime'=> $yst, 
 'YamagandamEndTime'=>$yet,'SuryaUdhayamTime'=> $sut, 'SuryaAsthamanam'=> $suras, 'Yogam'=>$yogam,'Chandrashtama'=> $chantrs, 'Soolam'=> $soolam, 'Pariharam'=>$phariharam,'Palamozhi'=>$palamozhi,'horoscopes'=>$horoscopesres);

} 

$response['calendardata'] = $posts;

$fp = fopen('articles.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);

您的json甚至不是有效的json

{
    "calendar": {
        "Pariharam": "pariharam",
        "Palamozhi": "palamozhi",
        "horoscopes": [{
            "HoroscopeID": "daily_horoscope_id",
            "Rasiname": "Rasi",
            "ShortDescription": "shot_desc",
            "LongDescription": "long_desc"
        }]
    }
}
第二,如果你想让占星术成为一个数组,你想在哪里传递数组

{
    "calendar": {
        "Pariharam": "pariharam",
        "Palamozhi": "palamozhi",
        "horoscopes": [{
            "HoroscopeID": "daily_horoscope_id",
            "Rasiname": "Rasi",
            "ShortDescription": "shot_desc",
            "LongDescription": "long_desc"
        }, {
            "HoroscopeID": "daily_horoscope_id",
            "Rasiname": "Another",
            "ShortDescription": "shot_desc",
            "LongDescription": "long_desc"
        }]
    }
}

像这样的东西对你有用。。 您可能需要为其他动态元素执行foreach循环。您可以从这里获得想法。如果您发布其他代码,我可以更新我的答案

 $Pariharam = "pariharam";
    $Palamozhi="palamozhi";
    $horoscope= array('HoroscopeID'=>'daily_horoscope_id','Rasiname'=>'Rasi','ShortDescription'=>'shot_desc','LongDescription'=>'long_desc');

    $calender=array();


      $calender['calender']['Pariharam']=$Pariharam;
      $calender['calender']['Palamozhi']=$Pariharam;
      $calender['calender']['horoscope']=$horoscope;



    print_r(json_encode($calender));exit;
输出

{  
   "calender":{  
      "Pariharam":"pariharam",
      "Palamozhi":"pariharam",
      "horoscope":{  
         "HoroscopeID":"daily_horoscope_id",
         "Rasiname":"Rasi",
         "ShortDescription":"shot_desc",
         "LongDescription":"long_desc"
      }
   }
}

通过在
json\u encode()
函数中传递数组变量,可以将数组转换为json。请提供您试用过的代码,以便我们更好地帮助您。