使用字段"PREGLEDALI","PREGLEDA1","PREGLEDA2"进行过滤,但日期范围过滤器不起作用。我在数据库中有日期格式(01.10.2013)。
$result = mysql_query("SELECT * FROM preglediv1 WHERE NOW() BETWEEN '%s".$start."%s' AND '%s".$end."%s'");
$result = mysql_query("SELECT * FROM preglediv1 WHERE (`pregledali` LIKE '%".$query."%') OR (`pregleda1` LIKE '%".$query."%') OR (`pregleda2` LIKE '%".$query."%')")
or die(mysql_error());
if(mysql_num_rows($result) > 0)
{
while($results = mysql_fetch_array($result))
在您提供的代码中,我可以看到两个问题:
- 在第二次调用 mysql_query() 时,您将覆盖
$result
中的数据 - 您还希望当前日期 (
NOW()
) 介于您的约束之间。
假设您在MySQL中使用DATE或DATETIME列而不是VARCHAR,您可以执行以下操作($start并且$end应格式化为"yyyy-MM-dd"):
$sql = "SELECT * FROM preglediv1 WHERE [nameofdatecolumn] BETWEEN '" . $start . "' AND '" . $end . "' AND " .
"(`pregledali` LIKE '%".$query."%') OR (`pregleda1` LIKE '%".$query."%') OR (`pregleda2` LIKE '%".$query."%')";
$result = mysql_query($sql);