我有一个 php 网页,其中显示了一个带有特定日期的日历。
日期存储在 MySql 数据库中。
在网页的开头,我执行以下操作:
<?php
//Load in database
$query = "SELECT ID, Full_Name, Arrival_Date, Departure_Date FROM bookings ORDER BY Arrival_Date";
if ($result = $dbc->query($query)) //Retrieve all the booking details
{
$numrows = $result-> num_rows;
$id_array;
$name_array;
$arrival_array;
$departure_array;
for ($count = 0; $count < $numrows; $count++)
{
$row = $result->fetch_assoc();
$id_array[$count] = $row['ID'];
$name_array[$count] = $row['Full_Name'];
$arrival_array[$count] = $row['Arrival_Date'];
$departure_array[$count] = strval($row['Departure_Date']);
}
}
else
{
//Error
}
?>
ID 是一个数字 Full_Name 是一个字符串 Arrival_Date 和 Departure_Date 是日期 (YYYY-MM-DD)
日历是一个 javascript 对象,因此我需要将预订信息输入到我的 javascript 函数中才能使用它。
这就是我试图做到这一点的方式:
<script type="text/javascript">
var array_ID = [<?php echo implode(",",$id_array); ?>];
var array_name = [<?php echo implode(",",$name_array); ?>];
var array_arrival = [<?php echo implode(",",$arrival_array); ?>];
var array_departure = [<?php echo implode(",",$departure_array); ?>];
var booking_numbers = <?php echo $numrows; ?>;
</script>
但是,我在行上收到错误“未捕获的语法错误:意外的标识符”:
var array_name = [<?php echo implode(",",$name_array); ?>];
我怀疑这是因为一些名称中有空格,因为数组即将出现
var array_name = [Pippa,Pippa Smith,Pippa Smith];
当输入 php 值时。
所以这是我的问题。我如何告诉 javascript 将这些输入视为字符串。
而且我知道这可能是结合 javascript 和 php 的糟糕方式,所以如果有人有更好的建议,我会很乐意接受!