2011-05-06 44 views
0

在頁面加載MySQL查詢:mysql選擇這個還是那個?

$today = date('D, d M, Y'); 
$sql = "SELECT * FROM programs WHERE singleday = '$today' AND city = 'New York'"; 

而且我有一個砑光,而更改日期我想按日期來接數據顯示:

<form method="post"> 
    <input align="center" type="text" id="picker" 
    onchange="this.form.submit()" name="picker" size="30"/> 
</form> 

$sql = "SELECT * FROM programs 
    WHERE singleday = '$_POST[picker]' AND city = 'New York'"; 

所以我需要的是去紐約想要顯示今天的數據,同時在同一頁面上更改特定日期的日曆日期顯示數據。

請幫

+2

請花一些照顧到選擇一個描述性的標題,格式化你的代碼和措辭你問題。我試圖理解你在說什麼,但是這樣做很難。如果您在幾秒鐘內以其他人能夠理解的方式來描述您的問題,您將會收到更高質量的答案。 – 2011-05-06 07:41:49

+0

btw,如果你檢查$ _POST ['picker']是否存在,那麼你可以使用任何一個sql語句。你可以檢查它是否存在與isset – BugFinder 2011-05-06 07:48:03

+0

這是作業嗎?我最近在這個模糊的用例中看到了一些問題。 – 2011-05-06 09:09:09

回答

0

我看到3種明顯的選擇:

  1. 當日期改變,它 帖子的形式和重新加載整個頁面 。
  2. 有一個 iframe中的日期部分,所以它只能重新加載日期 一部分,但就像選項1名 基本
  3. 阿賈克斯,所以日期改變, 觸發一個電話發回的數據 您加載到定義區域

+0

請給我代碼? – 2011-05-06 07:44:25

+0

要使用哪個選項?林猜測ajax之一..見http://stackoverflow.com/questions/5647904/how-to-call-multiple-ajax-functions-to-php-without-repeating-code/5647934#5647934 – BugFinder 2011-05-06 07:45:50

+0

是的...請..... – 2011-05-06 08:22:42

0

你不能總是得到你想要的東西[...]但有時你會得到你所需要的--Mick賈格爾

參見:How does the SQL injection from the "Bobby Tables" XKCD comic work?
有關SQL-注入解釋。

你有下面的代碼

$sql = "SELECT * FROM programs 
    WHERE singleday = '$_POST[picker]' AND city = 'New York'"; 

其更改爲SQL注入漏洞:

$mydate = mysql_real_escape_string($_POST[picker]); 
$sql = "SELECT * FROM programs 
    WHERE singleday = '$mydate' AND city = 'New York'"; 
//    ^ ^these quotes must be there to be protected.