javascript - 如何将 PHP 变量的 while 循环作为 JSON 组件传递到 JS 脚本中?

标签 javascript php json fullcalendar

我正在尝试用事件填充 JS 日历(fullCalendar 插件)。我有适当的 PHP 代码,使用 SQL 从数据库中提取信息:

$item_results = $mysqli->query($sql_items);
$item_row = $item_results->fetch_assoc();

我已将此输出放入 while 循环中,以便将所有单独结果重写为 JSON 格式:

$events = '';

while ( $item_row = $item_results->fetch_assoc() ) {
    $events .= '{title: \''. $item_row['item'] . '\', start: \'' . $item_row['expiration_date'];
    $events .= '\', color: \'' . $color . '\'' . '}, ';
  }

但是,当我插入'<?php echo $events; ?>'时在我的 PHP 代码下面的 JS 脚本标记中,它不会向日历输出任何内容。

var Calendar = new FullCalendar.Calendar(CalendarEl, {
  events: [
   // {
   //   title: 'conference',
   //   start: '2020-02-11'
   // }
   '<?php echo $events; ?>';
 ]});

是否最好重新开始并将 PHP 变量拆分为数组,以便我可以使用 json_encode() ?在这种情况下,我将如何处理其余的事件?

最佳答案

为什么不先使用数组再使用json_encode

$events = [];

while ( $item_row = $item_results->fetch_assoc() ) {
    $events[] = ["title" => $item_row['item'], "start" => $item_row['expiration_date'], "color" => $color];
  }

$events = json_encode($events,JSON_PRETTY_PRINT);

关于javascript - 如何将 PHP 变量的 while 循环作为 JSON 组件传递到 JS 脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61054963/

相关文章:

javascript设置间隔 session 管理

javascript - rxjs - 理解 observable 和 observer

Javascript,在 Promise 中调用函数

php - 在 PHP 中自动根据数据库列名称命名数组元素

php - json_decode\u2019

ios - 如何提取 JSON 数据以在 swift 2.0 的 UITableView 中动态应用?

javascript - 从基本 Slider jquery 获取值

php - 根据属性加入客户

php - GMaps api 地理编码奇怪的行为

php - 加入 ids 与总和