Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用mysql和php只显示今天或昨天的数据?_Php_Mysql - Fatal编程技术网

如何使用mysql和php只显示今天或昨天的数据?

如何使用mysql和php只显示今天或昨天的数据?,php,mysql,Php,Mysql,我想在我的网站上显示今天的数据,但如果今天还没有添加数据,我想显示昨天的数据 这是我正在使用的代码的一部分,现在,如果两个数据都可用,它将显示今天和昨天,但如果两个数据都可用,我只想显示今天 我不知道,怎么把它们分开。有人能给我指出正确的方向吗 date_default_timezone_set('America/Los_Angeles'); $today = date('Y-m-d'); $yesterday = date('Y-m-d',strtotime("-1 days"));

我想在我的网站上显示今天的数据,但如果今天还没有添加数据,我想显示昨天的数据

这是我正在使用的代码的一部分,现在,如果两个数据都可用,它将显示今天和昨天,但如果两个数据都可用,我只想显示今天

我不知道,怎么把它们分开。有人能给我指出正确的方向吗

    date_default_timezone_set('America/Los_Angeles');
$today = date('Y-m-d');
$yesterday = date('Y-m-d',strtotime("-1 days"));

$result = mysqli_query($bd, "SELECT * FROM apps WHERE datum = '".$today."' OR datum = '".$yesterday."' AND price > 0 ") or die(mysqli_error());
$count = mysqli_num_rows($result);
$cc = 0;

.....

$cc++;  
    if ($cc < $count) {
    echo "\n";
试试这个:

date_default_timezone_set('America/Los_Angeles');
$today = date('Y-m-d');
$yesterday = date('Y-m-d',strtotime("-1 days"));

$result = mysqli_query($bd, "SELECT * FROM apps WHERE datum = '".$today."' AND price > 0 ") or die(mysqli_error());
$count = mysqli_num_rows($result);
if($count == 0) {
    $result = mysqli_query($bd, "SELECT * FROM apps WHERE datum = '".$yesterday."' AND price > 0 ") or die(mysqli_error());
    $count = mysqli_num_rows($result);
}
$cc = 0;

.....

$cc++;  
    if ($cc < $count) {
    echo "\n";
您需要将ORDER BY datum DESC LIMIT 1添加到查询的末尾,并读取一行

$query = "SELECT *
          FROM apps
          WHERE (datum = '".$today."'
             OR datum = '".$yesterday."')
             AND price > 0
          ORDER BY datum DESC
          LIMIT 1";

$result = mysqli_query($bd, $query) or die(mysqli_error());

if ($row = mysqli_fetch_row($result)) {
    // You have the data here
}

我编辑了标题,因为在我重新整理我的帖子后,它会误导我。哇!谢谢我想它会起作用的。我不能推翻你的评论,因为我没有足够的声誉:-没问题,很高兴它有帮助:检查括号逻辑。。。您甚至可能不需要指定基准条件…谢谢!问题是,一天中有许多条目的日期相同,我想将它们全部显示出来,而不是仅显示一个。我想限制1只会给我一行。从应用程序中选择*其中datum=从应用程序中选择MAXdatum,其中price>0或以下选择*从应用程序中选择*其中datum=从应用程序中选择MAXdatum,其中price>0取决于您的逻辑是什么这看起来比另一行更简单。当今天的数据到达时,我将尝试它并检查回来!谢谢