我有一個PHP網頁,顯示日曆上顯示的具體日期。Javascript和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>
不過,我得到一個錯誤'未捕獲的SyntaxError:意外的標識' 就行了:
var array_name = [<?php echo implode(",",$name_array); ?>];
我懷疑這是因爲一些名稱在陣列即將到來時有空格
var array_name = [Pippa,Pippa Smith,Pippa Smith];
當php值放入。
所以這是我的問題。我怎麼才能告訴JavaScript將這些輸入視爲一個字符串。
我知道這可能是一種結合JavaScript和PHP的可怕方式,所以如果任何人有更好的建議,我會很樂意接受它們!
請出示轉換我們生成的js代碼。如果'$ name_array'中的值是字符串,那麼你至少會缺少引號。 – bfavaretto 2013-03-08 13:10:05
@Pippa玫瑰史密斯,你可以看看下面的URL? HTTP://計算器。com/questions/15090128/quotes-in-php-array-to-javascript-array/15090285#15090285 – 2013-03-08 14:01:55