mysql datediff:在几天之间获取数据

时间:2016-05-03 18:16:13

标签: php mysql

我正在动态构建mysql查询。它工作正常。问题在于该查询我想添加datediff函数或之间。因此,当用户选择显示数据超过10,15,30天时。它会相应地显示数据。

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

// both arguments should match to just set the cursor position
textview.SetSelection(1,1);

根据我的理解,我需要在这里更改代码。

<?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;
    }


?>

请告诉我这个。

1 个答案:

答案 0 :(得分:1)

使用DATE_SUB<

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