2016-07-13 30 views
-4

以下是我的代碼:這裏是我想從中檢索買方支付的最近付款的表格。我正在從事一個php項目,我想從我的數據庫表中獲取最近的日期

$last_date=date('d-m-Y',strtotime('01-01-2016')); 
       $query3=mysql_query("SELECT *FROM paid_m_installments WHERE plot_id='$pid' AND buyer_id='$uid'"); 
       while ($rows = mysql_fetch_assoc($query3)) { 
        $paid_dates =date('d-m-Y',strtotime($paid_dates_r=$rows['install_paid_date'])); 
        if($paid_dates>$last_date){ 
         $last_date=$paid_dates; 
        }else{ 
         echo "THere is error"; 
        } 
       } 
       echo $last_date; 
+0

**使用不推薦的'mysql_ *'API停止**。使用'mysqli_ *'或PDO與準備語句 – Jens

+1

而問題是?看看[這裏](http://stackoverflow.com/tour)問更好的問題 – matiaslauriti

+0

給我我的問題的答案。 –

回答

0

我的代碼現在工作最終代碼:

$query = mysql_query("SELECT STR_TO_DATE(install_paid_date, '%d-%m-%Y') AS install_paid_date FROM paid_m_installments WHERE plot_id='$pid' AND buyer_id='$uid' ORDER BY install_paid_date DESC LIMIT 1"); 
       if ($query) { 
        # code... 
       echo date('d-M-Y',strtotime($last_date=mysql_result($query,0,'install_paid_date'))); 
       }else{ 
        echo mysql_error(); 
       } 

注意這裏我用STR_TO_DATE()函數在MySQL,因爲我存儲日期字符串可以使用date_fromat()函數你在MYSQL中使用日期數據類型嗎?

0

你只需要獲得由SQL最近的日期,無需循環的結果通過PHP:

SELECT STR_TO_DATE(install_paid_date, '%d-%m-%Y') AS install_paid_date 
FROM paid_m_installments 
WHERE plot_id='$pid' AND buyer_id='$uid' 
ORDER BY install_paid_date DESC 
LIMIT 1 
+0

如何在這種情況下設置日期的格式。它仍然沒有按照我的需要工作。我使用日期格式爲D-M-YYYY。以上查詢給我的結果爲M-D-YYYY。如何修復該問題 –

+0

謝謝@ 100086。我的問題解決了。 –

0

您可以用下面的代碼

$query3=mysqli_query("SELECT *FROM paid_m_installments WHERE plot_id='$pid' AND buyer_id='$uid' ORDER BY install_paid_date DESC LIMIT 1");    

找到結果並且您必須根據您的php版本更改mysql_query函數。對於以上的PHP 5,你應該使用mysqli_query()。

相關問題