2011-06-07 58 views
1

我是一名業餘程序員,最近一直面臨挑戰。從MYSQL數據庫使用BETWEEN函數

我想選擇日期範圍內的數據,但儘管多次嘗試都未成功。有人可以幫助我在日期範圍之間拉起數據的代碼。

我的代碼是:

<?php 


$tdate = $_POST['toDate']; 
$fdate = $_POST['fromDate']; 

    mysql_connect("localhost","user","pass") or die("Couldn't connect!"); 
    mysql_select_db("db_name") or die("Couldn't find db"); 

    $data = mysql_query("SELECT * FROM db_table BETWEEN saledate '$tdate' AND '$fdate' "); 
    $result = mysql_fetch_array($data); 

    if (!$result) { 
    echo "No result"; 
    } else { 
     echo $result; 
    } 
    ?> 

回答

3

你不應該做的查詢這樣的。使用PDO。

關於你的SQL是錯誤的。正確的是:

$data = mysql_query("SELECT * FROM db_table WHERE saledate BETWEEN '$tdate' AND '$fdate' "); 
+0

謝謝yes123有幫助,因爲我是一個非常新的程序員,我應該使用什麼命令來顯示頁面上這兩個日期之間的整個數據。 – darsh 2011-06-07 22:35:05

+0

http://it.php.net/manual/en/pdo.prepare.php – dynamic 2011-06-07 22:36:37

+0

對不起,我無法理解,因爲我不是在那個階段瞭解鏈接。我處於非常基礎的水平。但是,如果我使用mysql_num_rows函數它顯示我2和mysql_fetch_array它結果數組。有點困惑.. – darsh 2011-06-07 22:46:35

2

您的SQL應該是這個

SELECT * FROM db_table WHERE saledate BETWEEN $tdate AND $fdate 
+0

感謝Ash有幫助,因爲我是一個非常新的程序員,我應該使用什麼命令來顯示頁面上這兩個日期之間的整個數據。 – darsh 2011-06-07 22:34:55

1

在你的代碼,而不是

$result = mysql_fetch_array($data); 
    if (!$result) { 
    echo "No result"; 
    } else { 
     echo $result; 
    } 

寫下面的代碼。

while($result=mysql_fetch_array($data)) 
{ 
echo $result['Fieldname1']; 
...... 
...... 
echo $result['Fieldnamen']; 
} 

代替字段名,從表中寫入字段。您想要顯示的字段。

+0

非常感謝。 – darsh 2011-06-07 23:39:58

+0

我希望你知道如何去設計它。 – Phphelp 2011-06-07 23:50:04

+0

你肯定。再一次非常感謝你。 – darsh 2011-06-07 23:52:13