特定の日付が表示されたカレンダーを表示するphpWebページがあります。
日付はMySqlデータベースに保存されます。
Webページの冒頭で、次のことを行います。
<?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>
ただし、次の行に「Uncaught SyntaxError:UnexpectedIdentifier」というエラーが表示されます。
var array_name = [<?php echo implode(",",$name_array); ?>];
これは、配列が次のように表示されるときに、一部の名前にスペースが含まれているためだと思います。
var array_name = [Pippa,Pippa Smith,Pippa Smith];
php値が入力されたとき。
これが私の質問です。これらの入力を文字列として扱うようにJavaScriptに指示するにはどうすればよいですか。
そして、これはjavascriptとphpを組み合わせるひどい方法かもしれないことを私は知っているので、誰かがもっと良い提案があれば、私は喜んでそれらを取ります!