gpt4 book ai didi

php - mysql 日期差异 :get data between days

转载 作者:行者123 更新时间:2023-11-28 23:32:09 25 4
gpt4 key购买 nike

我正在动态构建 mysql 查询。它工作正常。问题出在那个查询中,我想添加 datediff 函数或两者之间。因此,当用户选择显示早于 10、15、30 天的数据时。它将相应地显示数据。

这是我目前正在使用的代码。

<?php
require_once 'include/db.php';
$firstname = 'Alpha';
$lastname = 'Romeo';
$older_than = 30;

$query = "SELECT fname,lname,uid,join_date FROM users";

$cond = array();
$params = array();

if (!empty($firstname)) {
$cond[] = "fname = ?";
$params[] = $firstname;
}

if (!empty($lastname)) {
$cond[] = "lname = ?";
$params[] = $lastname;
}

if (!empty($older_than)) {
$cond[] = "join_date = ?";
$params[] = $older_than;
}



if (count($cond)) {
$query .= ' WHERE ' . implode(' AND ', $cond);
}
echo $query;
$stmt = $mysqli->prepare($query);


$bind = array();
foreach($params as $key => $val){
$bind[$key] = &$params[$key];
}
$types = str_repeat("s", count($params));

array_unshift($bind, $types);

call_user_func_array(array($stmt, 'bind_param'), $bind);

$stmt->execute();

$stmt->bind_result($fname, $lname, $uid,$older_than);
while ($stmt->fetch()) {
echo $fname, $lname, $uid,$older_than;
}


?>

根据我的理解,我需要更改此处的代码。

if (!empty($older_than)) {
$cond[] = "join_date = ?";
$params[] = $older_than;
}

请就此提出建议。

最佳答案

使用 DATE_SUB< .

if (!empty($older_than)) {
$cond[] = "join_date < DATE_SUB(NOW(), INTERVAL ? DAY)";
$params[] = $older_than;
}

关于php - mysql 日期差异 :get data between days,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37011507/

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