2011-07-14 26 views
0

有一個jquery.ui.datepicker如下:如何使用php和mysql顯示下一個30天的數據?

<script type="text/javascript"> 
$(function() { 
$("#datepicker").datepicker({ 
minDate: 'today', 
maxDate: "+90D", 
showOn: "button", 
buttonImage: "images/calendar-new2.jpg", 
buttonImageOnly: true, 
dateFormat: "D, dd M, yy" 
}); 
}); 
</script> 

並獲取日期日期選擇器包括一個表單中,如下所示:

<form method="post"><input align="center" type="hidden" id="datepicker" onChange="this.form.submit();" name="datepicker" value=""/></form> 

而下面從MySQL表調用數據:

<?php 
$today = date('D, d M, Y'); 
$sql = "SELECT * FROM postings WHERE day1 = '$today' AND city = 'New York' OR day2 = '$today' AND city='New York' OR day3 = '$today' AND city='New York' OR day4 = '$today' AND city='New York' OR day5 = '$today' AND city='New York' OR day6 = '$today' AND city='New York' OR day7 = '$today' AND city='New York' OR day8 = '$today' AND city='New York' OR day9 = '$today' AND city='New York' OR day10 = '$today' AND city='New York'"; 
if($_POST!=""){ 
$mydate = mysql_real_escape_string($_POST['datepicker']); 
if($mydate!=""){  
$sql = "SELECT * FROM postings WHERE day1 = '$mydate' AND city = 'New York' OR day2 = '$mydate' AND city='New York' OR day3 = '$mydate' AND city='New York' OR day4 = '$mydate' AND city='New York' OR day5 = '$mydate' AND city='New York' OR day6 = '$mydate' AND city='New York' OR day7 = '$mydate' AND city='New York' OR day8 = '$mydate' AND city='New York' OR day9 = '$mydate' AND city='New York' OR day10 = '$mydate' AND city='New York'"; 
}  
} 
if($mydate) { 
echo "New York - $mydate"; 
} 
else { 
echo "New York - $today"; 
} 
$num_results_per_page = 8; 
$num_page_links_per_page = 5; 
$pg_param1 = ""; // Ex: &q=value 
$result=mysql_query($sql); 
$row = mysql_fetch_array($result); 
pagination($sql, $num_results_per_page, $num_page_links_per_page, $pg_param); 
if($pg_error == '') 
{ 
if(mysql_num_rows($pg_result) > 0) 
{ 
while($data = mysql_fetch_assoc($pg_result)) 
{ 
echo " 
------- 
-------- 
----- 
"; 
?> 

該查詢將根據用戶點擊的日期顯示今天的數據或數據。

請幫我解決以下問題: 1)下一個和上一個按鈕,如果點擊顯示前一天的數據和下一天的數據。 2)顯示下一個7天的數據。

+0

怎麼樣一個Ajax請求每當點擊這些按鈕? – Eric

回答

1

您的查詢效率非常低。這將工作更好,是非常非常容易準備:

$date = (isset($_POST['datepicker'])) ? "'" . mysql_real_escape_string($_POST['datepicker']) "'" : 'now()'; 

SELECT * FROM postings 
WHERE (city = 'New York') and 
    $date IN (day1, day2, day3, day4, day5, day6, day7, day8, day9, da10); 

至於未來7天,就這樣做:

WHERE ... 
    DATE_ADD($date, INTERVAL 7 DAY) IN (....) 
相關問題