如何将PHP循环转换为JSON循环?

时间:2018-03-17 04:30:10

标签: javascript php mysql json fullcalendar

此代码将用于Full Calendar JS:)

这是我的PHP循环,我通过我的'事件得到了数据。关于mysql db的表。

$query = "SELECT * FROM events";
$listEvents = mysqli_query($DB, $query);

while($row = mysqli_fetch_array($listEvents))
{
    $id    = $row['event_id']    ;
    $title = $row['event_name']  ;
    $start = $row['event_start'] ;
    $end   = $row['event_end']   ;
    $url   = $row['event_root']  ;
}

这是我在完整日历中的代码,它是完整日历中的原始文件

events: [{
           id: '<?php echo "$id"    ; ?>',
        title: '<?php echo "$title" ; ?>',
        start: '<?php echo "$start" ; ?>',
          end: '<?php echo "$end"   ; ?>',
          url: '<?php echo "$url"   ; ?>',
        }],

虽然JSON显示我的PHP循环,但它只显示我的数据库中的一行。

谢谢大家,感谢您的回复。

2 个答案:

答案 0 :(得分:2)

您需要在循环外创建一个数组,然后将所有值分配给该数组,然后最终对该数组进行编码。

如下所示: -

$events = [];//create an array

while($row = mysqli_fetch_assoc($listEvents)){//use assoc for lighter array iteration

    $events[] = ['id'=> $row['event_id'],'title'=> $row['event_name'],'start'=> $row['event_start'], 'end'=> $row['event_end'], 'url'=> $row['event_root'] ] ; //assign all values to array
}

<强> JS: -

events: <?php echo json_encode($events);?>,

答案 1 :(得分:0)

只需使用数组中的相应键添加所有数据,然后将此数据编码为json

<强> PHP

$events = array();
while($row = mysqli_fetch_array($listEvents))
{

    $event['id']    = $row['event_id']    ;
    $event['title'] = $row['event_name']  ;
    $event['start'] = $row['event_start'] ;
    $event['end']   = $row['event_end']   ;
    $event['url']   = $row['event_root']  ;
    $events[]=$event;
}

<强> JS

events: <?php echo json_encode($events);?>,