gpt4 book ai didi

php - 当数据库行为空时如何在 mySQL 结果中获取 Null

转载 作者:行者123 更新时间:2023-11-29 23:48:26 24 4
gpt4 key购买 nike

我从这样的查询开始:

$query_price = "SELECT price_id, dt FROM lh_dates WHERE (dt BETWEEN '$firstdate' AND '$lastdate') AND hid = '$hid'";

然后像这样操作结果:

$i = 0;
$price_id_list = array();
while ($row_price = mysql_fetch_assoc($price)) {
$price_id_list[$i] = $row_price['price_id'];
$date_list[$i] = $row_price['dt'];
$i++;
}

后来我再次使用 $i 构建一个包含日期列的表。我遇到的问题是 lh_dates 表中可能不存在 $firstdate 到 $lastdate 范围内的某些日期。这减少了 $i 的迭代次数并弄乱了结果表。

当数据库表中不存在日期时,有什么方法可以在查询中得到 NULL 或零或无结果吗?

更新

查看了类似的问题后,我意识到我需要从 $query_price 创建一个数组,然后循环遍历日期范围内的每个日期的数组并添加任何缺失的日期。所以我必须做到这一点:

$firstdate = date('Y-m-d',$startdate);
$lastdate = date('Y-m-d',strtotime('+17 days',strtotime($firstdate)));
$query_price = "SELECT price_id, dt FROM lh_dates WHERE (dt BETWEEN '$firstdate' AND '$lastdate') AND hid = '$hid'";
$price = mysql_query($query_price, $MySQL) or die(mysql_error());
$alldates = array(); // Array of all rows within the date range
while ($row_price = mysql_fetch_assoc($price)) {
$alldates[]=$row_price;
}
//Now loop through the date range and fill in any empty dates in the array
$thisdate = $firstdate;
while (strtotime($thisdate) <= strtotime($lastdate)){
// WHAT GOES IN HERE?
$thisdate = date('Y-m-d',strtotime('+1 day',strtotime($thisdate)));
};

现在我正在努力添加必要的代码来填充缺失的日期。

最佳答案

$price_id_list = array();
while ($row_price = mysql_fetch_assoc($price)) {
$price_id_list[$row_price['price_id']] = $row_price['price_id'];
$date_list[$row_price['price_id']] = $row_price['dt'];
}

关于php - 当数据库行为空时如何在 mySQL 结果中获取 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25787213/

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