从datepicker逐日搜索

时间:2013-11-23 07:55:43

标签: javascript php mysql

form.php的

<form action="search_bus.php" id="search_form1" style="padding:10px;">
    <div class="left"><b>Leaving From</b><br /><input type="text" name="source_point" id="source_point"/></div>
    <div class="right"><b>Going To</b><br /><input type="text" name="destination" id="destination"/></div>
    <div class="dt"> 
        Date of Journey <input id="datepick" size="19" name="datepick" class="text_box2" title="Departure Date" />
    </div>

    <script type="text/javascript">
        $(function() {
            $( "#datepick" ).datepicker({ minDate: 0});
        });
    </script>

    <div>
        <input type="submit" value="Submit"/>
    </div>
</form>

这是我的表格,当我通过它搜索公共汽车时,无论我给出什么日期,它都会显示我的数据库中的总线(通过它的源点和destination_point搜索),但是我已经为公共汽车插入了可用的天数。我想根据它各自的日子搜索公共汽车。这意味着当我在我的日期选择器中输入日期时,它应该从数据库中搜索相应的日期并显示结果,如果在那一天,总线不可用,则不应显示任何结果。

的search.php

<?php
    $s=mysql_query("SELECT * FROM  bus_detail where source_point='$_SESSION[source_point]' && destination_point='$_SESSION[destination]'");
    while($row=mysql_fetch_array($s))
    {
?>

<td><input name="bus_name" type="text" value="<?php echo $row['bus_name'];?>" class="input_box" />

1 个答案:

答案 0 :(得分:1)

我们确实需要查看您的服务器端代码和数据结构来确定这一点。

理想情况下,您希望捕获日期范围,然后调整SQL语句以仅基于该值返回值。

$ datepick将是您表单中的价值,可能是已清理的$ _POST [&#39; datepicke&#39;];

这将是从日期的凌晨12:00到下一个日期的凌晨12:00,所以在一天之内

  

示例SQL:&#34; SELECT * FROM总线WHERE departure =&gt; $ datepick AND   出发&lt; = DATE_ADD($ datepick,INTERVAL 1天)&#34;

希望有所帮助