我尝试实施日期过滤器时出现问题:
我的数据库是这样的:
start_date | end_date
2000 | 2005
我的PHP选择如下:
if (empty($processo) && empty($ano)){
$pegaSonda = $pdo->prepare("SELECT * FROM sonda WHERE `modelo` = ?");
$pegaSonda->execute();
} else if(!empty($processo) && empty($ano)) {
$pegaSonda = $pdo->prepare("SELECT * FROM sonda WHERE n_processo = '$processo'");
$pegaSonda->execute();
} else if(!empty($processo) && !empty($ano)){
//AQUI EU POSSO COLOCAR O FILTRO POR ANO
$pegaSonda = $pdo->prepare("SELECT * FROM sonda WHERE n_processo = '$processo'");
$pegaSonda->execute();
}
变量$ ano(这是用户在输入文本中写入的年份,ajax将作为Post请求发送给PHP)。
当用户输入年份时如何使用SELECT
?
我尝试的代码如下所示:
"SELECT * FROM sonda WHERE n_processo = '$processo' AND start_date >= '$ano' OR end_date <= '$ano'"
请帮忙吗? 谢谢!
答案 0 :(得分:1)
我们在讨论后得到的答案
'$ano' BETWEEN start_date AND IF(end_date = '', YEAR(CURDATE()), end_date)