过滤字段“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))
答案 0 :(得分:1)
在您提供的代码中,我可以看到两个问题:
$result
中的数据NOW()
)。假设您在MySQL而不是VARCHAR中使用DATE或DATETIME列,则可以执行以下操作($ 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);