如何从数据库表中获取最新日期

问题描述 投票:-4回答:3

我正在工作的一个代码中,我想从数据库中获取日期是最新的行,通常我想向用户显示他/她所进行的最新付款,我厌倦了很多方法无法获得理想的结果。这是我的查询。

$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;
php mysql date datetime strtotime
3个回答
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()。


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
投票

我的代码正在运行最终代码:

$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();
                }

NOTE在这里,我在Mysql中使用str_to_date()函数,因为我将日期存储为字符串,可以使用date_fromat()函数,因为您正在使用MYSQL中的日期数据类型。

© www.soinside.com 2019 - 2024. All rights reserved.