无法获取第一笔和最后一笔交易?

我有一个需要显示第一个交易日期和最后一个交易日期的交易表。该列是西班牙文的FECHA。我只是无法显示日期。


如果您知道更好的解决方案,我很乐意在这里。


<?php

    $result2 = mysql_query("SELECT `FECHA` FROM `transaction` where id = '".$id."' GROUP BY `id` ORDER BY `FECHA` ASC LIMIT `1`");

    $trans = mysql_fetch_row($result2);

    $date = date_create($trans[0]);


    echo date_format($date, 'd/m/y');

    #output: 24/03/12



    $result1 = mysql_query("SELECT `FECHA`  FROM `transaction`  where id = '".$id."' GROUP BY `id` ORDER BY `FECHA` DESC LIMIT `1`");

    $trans = mysql_fetch_row($result1);

    $date = date_create($trans[0]);


    echo date_format($date, 'd/m/y');

    #output: 24/03/12

?>


侃侃尔雅
浏览 110回答 2
2回答

达令说

您可以使用 min 和 max 聚合函数;将您的查询更改为SELECT min(FECHA) earliest_date, max(FECHA) latest_dateFROM `transaction`&nbsp;&nbsp;WHERE id = '".$id."'GROUP BY id然后,当您选择第一个日期时earliest_date,最后一个日期将是latest_date.但是,请阅读有关 SQL 注入的信息,并且不要传递来自外部来源的变量,例如 $id。

犯罪嫌疑人X

工作谢谢<?php&nbsp; &nbsp; $result2 = mysql_query("SELECT MIN(FECHA)&nbsp; FROM `transaction`&nbsp; where id = '".$id."' ");&nbsp; &nbsp; $trans = mysql_fetch_row($result2);&nbsp; &nbsp; $datemin = date_create($trans[0]);&nbsp; &nbsp; echo date_format($datemin, 'd/m/y');&nbsp; &nbsp; #output: 24/03/12&nbsp; &nbsp; $result1 = mysql_query("SELECT MAX(FECHA)&nbsp; FROM `transaction`&nbsp; where id = '".$id."' ");&nbsp; &nbsp; $trans = mysql_fetch_row($result1);&nbsp; &nbsp; $datemax = date_create($trans[0]);&nbsp; &nbsp; echo date_format($datemax, 'd/m/y');&nbsp; &nbsp; #output: 24/03/12?>
打开App,查看更多内容
随时随地看视频慕课网APP