gpt4 book ai didi

php - 如何在找到特定数据的情况下运行与另一天一样长的查询

转载 作者:行者123 更新时间:2023-11-29 06:10:12 24 4
gpt4 key购买 nike

也许这听起来很疯狂,但我想不出更好的标题。

我单击一个按钮并将日期 (Y-m-d) 发送到查询,查询是否找到数据,如果找到数据,它会返回数据,如果没有找到数据,则返回 null。

现在我想这样做,如果在我发送的日期没有可用数据,下一个日期将返回实际存在数据的地方。

所以实际上我发送了 8 月 30 日的搜索,如果 8 月 30 日没有可用数据,查询应该在 THE PAST 中搜索第二天的可用数据,所以如果它找到 8 月 2 日的数据,那么数据8 月 2 日应该返回。

我尝试使用“日期 <= 实际日期”和“如果结果 == 0”等,但我只是在黑暗中敲击。返回的总是一堆数据,而不仅仅是一行。

我的代码现在看起来像这样:

$category = $_GET['category'];
$query = mysqli_query($bd, "SELECT MAX(datum) as max_datum, MIN(datum) as min_datum FROM macapps WHERE free = 1 AND category = '".$category."' ") or die(mysqli_error());
$date = mysqli_fetch_assoc($query);

$day = isset($_GET['date']) ? $_GET['date'] : 0;
$date = date('Y-m-d', strtotime($date['max_datum'] . ' ' . $day . ' day'));

$result = mysqli_query($bd, "SELECT appID, title, icon, category, datum FROM macapps WHERE datum = '".$date."' AND free = 1 AND category = '".$category."' ORDER BY title") or die(mysqli_error());
$rows = array();
while($count = mysqli_fetch_assoc($result)) {
$rows[] = $count;
}

echo json_encode($rows);

最佳答案

试试这个查询

Select 
appID, title, icon, category, datum
From
macapps
Where datum = (Select
m.datum
From
macapps m
WHERE
m.datum <= '.$date.'
Order By m.datum Desc
LIMIT 1
)
And
Free=1
And
category = '.$category.'
Order By title;

另一个查询

Select 
appID, title, icon, category, datum
From
macapps
Where datum = (Select
Max(m.datum)
From
macapps m
Where
m.datum <= '.$date.'
)
And
Free=1
And
category = '.$category.'
Order By title

关于php - 如何在找到特定数据的情况下运行与另一天一样长的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38746187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com