2013-07-28 171 views
0

這是一個雙重問題。如何在日期選擇器更改時更新頁面上的數據(無頁面重新加載)? 另外我如何將選定日期傳遞給我的sql語句中的dtpickerdate? 這裏是我的示例代碼jquery datepicker刷新頁面上的數據

<html> 
<head> 
<link href="../css/jquery/jquery-ui.css" rel="stylesheet" type="text/css" /> 
    <script src="../js/jquery-1.9.1.js"></script> 
    <script src="../js/jquery-ui.js"></script> 
</head> 
<body> 
<?php include("../navbar.php"); ?> 
<p>Date: <input type="text" id="datepicker" value="<?php echo date("m/d/Y"); ?>" /></p> 
<script type="text/javascript"> 
$(function() { 
    $("#datepicker").datepicker(); 
}); 
</script> 
<table> 
<?php 

$sqltext = "SELECT * FROM data where startdate=dtpickerdate"; 

$result = $mysqli->query($sqltext); 
while($row = $result->fetch_assoc()) { 
    echo "<tr><td>".$key."</td>"; 
    echo "<td>".$row['sun']."</td><td>".$row['mon']."</td><td>".$row['tues']."</td><td>".$row['wed']."</td><td>". 
      $row['thurs']."</td><td>".$row['fri']."</td><td>&nbsp".$row['sat']."</td>"; 

}} 
?> 
</table> 
</body> 
</html> 

回答

1

你需要AJAX,第一件事就是創建一個查詢功能的新的PHP文件,將獲得$ _ POST參數和日期選擇器的值:

getData.php

<?php 
    $dtpickerdate = isset($_POST['dtpickerdate']) ? $_POST['dtpickerdate'] : NULL 
    $sqltext = "SELECT * FROM data where startdate = $dtpickerdate"; 

    $result = $mysqli->query($sqltext); 
    while($row = $result->fetch_assoc()) { 
     echo "<tr><td>".$key."</td>"; 
     echo "<td>".$row['sun']."</td><td>".$row['mon']."</td><td>".$row['tues']."</td> <td>".$row['wed']."</td><td>".$row['thurs']."</td><td>".$row['fri']."</td><td>&nbsp".$row['sat']."</td>"; 
    } 
?> 

現在,您可以聽取輸入內容的更改事件,並使用AJAX調用您的PHP,當呼叫完成時更新您的表格:

$('#datepicker').change(function(){ 
    $.post('getData.php',{dtpickerdate : $(this).val()}, function(response){ 
     $('table').html(response); 
    }); 
}); 
+0

謝謝你工作完美! – cole71