根据以下答案更新:
根据以下答案,我现在有以下PHP脚本:
header('Content-type:application/json'); function getdata($the_query) { $connection = MysqL_connect('server','user','pass') or die (MysqL_error()); $db = MysqL_select_db('db_name',$connection) or die (MysqL_error()); $results = MysqL_query($the_query) or die(MysqL_error()); header('Content-type:application/json'); $the_data['RSS']['channels']['title'] = $title; $the_data['RSS']['channels']['link'] = $link; $the_data['RSS']['channels']['description'] = $description; while($row = MysqL_fetch_array($result)) { extract($row); $the_data['RSS']['channels']['items']['title'] = $item_title; $the_data['RSS']['channels']['items']['link'] = "$item_link; $the_data['RSS']['channels']['items']['date'] = $item_date; $the_data['RSS']['channels']['items']['description'] = $item_description; } MysqL_close($connection); return json_encode($the_data); }
返回以下内容:
{ "RSS": { "channels": { "title":"title goes here","link":"link goes here","description":"description goes here","items": { "title":"'title goes here","date":"date goes here","description":"description goes here" } } } }
它应该根据从数据库返回的行数返回许多项目,为什么我只获得1项?
试试这个:
<?PHP $channel = array( 'title' => 'title goes here','link' => 'link here','description' => 'description','items' => array() ); while($row = MysqL_fetch_array($results)) { extract($row); $channel['items'][] = array( 'title' => $title,'link' => $link,'guid' => $guid,'pubDate' => $date,'description' => $description ); } $channels = array($channel); $RSS = (object) array('RSS'=> array('channels'=>$channels)); $json = json_encode($RSS); echo $json; ?>