0

これは二重の質問です。日付ピッカーが変更されたときにページのデータを (ページのリロードなしで) 更新するにはどうすればよいですか? また、SQL ステートメントで選択した日付を dtpickerdate に渡すにはどうすればよいですか? ここに私のコード例があります

<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>
4

1 に答える 1

1

AJAX が必要です。最初に、datepicker の値を持つ $_POST パラメータを受け取るクエリ関数で新しい php ファイルを作成します。

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);
    });
});
于 2013-07-28T00:58:21.973 に答える