【问题标题】:PHP Datepicker in SQL querySQL查询中的PHP Datepicker
【发布时间】:2014-03-07 09:25:39
【问题描述】:

所以我有这个页面默认显示今天的比赛,它有这个日期选择器表单

<form method="post">
<p> Select Date:<input id="datepicker" type="text" size="8" /> </p>
<input type="submit" value="Submit" name="usub" />
</form>
<?php
    if(isset($_POST["usub"])){ $date = $_POST["datepicker"]; }
else{ $date = date('Y-m-d'); } 
$data = mysql_query("SELECT * FROM todaysmatches where matchdate='$date'") or die(mysql_error());

echo $_POST["usub"];
echo "<h4>$today Matches</h4> </br>";

//table
if (mysql_num_rows($data)==0){
     echo " No Matches";
     echo "</br>";
     echo "<h4> Sorry About That Check For other Days Or you can Check the Library</h4>";
 }
else{

echo "<table border='1'>
<tr>
<th>Match</th>
<th>Tourmanet</th>
<th>Date</th>
</tr>";

while($info = mysql_fetch_array( $data ))
  {
  echo "<tr>";
  echo "<td>" . $info['curmatch'] . "</td>";
  echo "<td>" . $info['tournamentname'] . "</td>";
  echo "<td>" . $info['matchdate'] . "</td>";
  echo "</tr>";
  }
echo "</table>";
}
?>

我想要的是,如果用户在表单中选择一个日期,它将进入查询并带来与该日期关联的数据,同时在他们第一次加载页面时将今天保持为默认日期

【问题讨论】:

    标签: php sql datepicker


    【解决方案1】:

    您需要将查询中的日期值引用为

    SELECT * FROM todaysmatches where matchdate= '$today'
    
    
    $data = mysql_query("SELECT * FROM todaysmatches where matchdate='$today'") 
    

    现在要获取 datepicker 值,您需要在表单中进行一些更改并使用 name 属性作为

    <form method="post">
    <p> Select Date:<input id="datepicker" type="text" size="8" name="datepicker"/> </p>
    <input type="submit" value="Submit" name="usub"/>
    </form>
    

    然后在 PHP 中你可以做

    if(isset($_POST["usub"])){
     $date = $_POST["datepicker"];
    }
    

    并在查询中使用它,在 else 部分中,您可以使用查询从今天的日期获取数据

    注意:确保从日期选择器传递到查询的日期格式正确。

    【讨论】:

    • 谢谢,但这不会将查询中的 $today = date('Y-m-d'); 更改为所选的新日期
    • 首先检查是否按上述方式发布了某些内容,如果是,则在查询和其他部分中使用 var $date,即当没有发布任何内容时,请在查询中使用今天。
    • 这就是你的意思if ($date==0){ $data = mysql_query("SELECT * FROM todaysmatches where matchdate='$today'") or die(mysql_error()); } else{ $data = mysql_query("SELECT * FROM todaysmatches where matchdate='$date'") or die(mysql_error()); }
    • 有点相似,但你应该使用 if(isset($_POST["usub"])){ $date = $_POST["datepicker"]; }else{ $date = date('Y-m-d'); $data = mysql_query("SELECT * FROM todaysmatches where matchdate='$date'") or die(mysql_error());并确保表单元素的名称与我在答案中显示的一样!!
    • 在日期选择器中命名为 name="datepicker" 看看 ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    相关资源
    最近更新 更多