[英]how do i get a date value from php into a jquery variable?
<?php
$sql = "SELECT * FROM expense WHERE userid = $userid";
$expense_date= array(); //array declared to be used below
$amount = array();// array declared
$result = mysqli_query($conn, $sql);
if(!$result){
die("query failed"); // query failed due to no connection or error in query
} else {
while( $row = mysqli_fetch_assoc($result)){ // fetches infromation
array_push($amount, $row["amount"]); //pushes my distances whic are returned from the query from the database into an array
$date_entered = ( date("d-n-y", strtotime($row["timestamp"])));
array_push($expense_date, $date_entered);//pushes date travelled
}
}
//$arr = array('distance'=>$dist_covered, 'dateTravel'=>$travel_date);
//print_r(json_encode($arr)); ------ make sure distance are being inserted into the database
echo $date_entered; ?>
<script type="text/javascript">
var unavailableDates = <?php print_r(json_encode($date_entered))?>;
function unavailable(date) {
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
if($.inArray(dmy, unavailableDates) == -1) {
return [true, ""];
}
else {
return [false, "", "Unavailable"];
}
}
$(function() {
$( "#Datepicker1" ).datepicker({
numberOfMonths:2,
beforeShowDay: unavailable
});
});
</script>
我正在嘗試獲取unavailableDates
變量以從數據庫中選擇一個日期。 php中的變量以相同格式回顯日期。 但變量無法識別它。 如果我手動輸入日期,它將起作用。
var unavailableDates = <?php echo json_encode($date_entered)); ?> || '';
print_r()和var_dump()都用於顯示數據以進行調試。 print和echo用於輸出字符串。 使用回聲是最常見的。
$d = date("d-n-y");
print_r($d);
var_dump($d);
echo $d;
將產生:
11-2-16
string(7) "11-2-16"
11-2-16
因此,即使您使用的是print_r()而不是echo,結果也是相同的輸出。 這是因為在這種情況下,它是一個字符串變量。 還是這是一系列日期?
您的代碼中可能還有另一個問題。 您是否收到任何控制台錯誤?
我可能會缺少一些東西。 是unavailableDates應該是日期數組嗎? 在這種情況下,您可能會將變量混在一起。 請參見array_push()PHP函數。
參見http://php.net/manual/en/function.array-push.php
array_push($ expenseDates,$ date_entered); //推送日期
然后...
var unavailableDates = <?php echo (!empty($expenseDates)) ? json_encode($expenseDates) || []; ?>;
是的,說實話,這里的代碼有些混亂,我已經在下面糾正了許多明顯的問題:
<?php
$sql = "SELECT * FROM expense WHERE userid = $userid";
$expense_date = array(); //array declared to be used below
$amount = array(); // array declared
$result = mysqli_query($conn, $sql);
if (!$result) {
die("query failed"); // query failed due to no connection or error in query
} else {
while ($row = mysqli_fetch_assoc($result)) {
$amount[] = $row["amount"];
$date_entered = date("d-m-y", $row["timestamp"]); #CORRECTED - ONLY FEED IN THE TIMESTAMP
$expense_date[] = $date_entered;
}
}
//echo $date_entered; #WHY IS THIS BEING ECHOED OUT HERE FROM PHP?
?>
<script type="text/javascript">
var unavailableDates = '<?= $date_entered ?>';
function unavailable(date) {
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
if ($.inArray(dmy, unavailableDates) == -1) {
return [true, ""];
}
else {
return [false, "", "Unavailable"];
}
}
$(function () {
$("#Datepicker1").datepicker({
numberOfMonths: 2,
//beforeShowDay: unavailable # WHAT IS THIS?
beforeShowDay: unavailable('MISSING_DATE')
});
});
</script>
.php
文件中嗎? unavailable()
js函數的調用? 那叫什么日期?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.