【发布时间】:2011-07-09 04:17:05
【问题描述】:
如果我有 4 个变量并且我想从数据库中选择 DISTINCT 值
<?php
$var1 = ""; //this variable can be blank
$var2 = ""; //this variable can be blank
$var3 = ""; //this variable can be blank
$var4 = ""; //this variable can be blank
$result = mysql_query("SELECT DISTINCT title,description FROM table WHERE **keywords ='$var1' OR author='$var2' OR date='$var3' OR forums='$var4'** ");
?>
注意:部分或所有变量 ($var1,$var2,$var3,$var4) 可以为空
我想要什么: 我想忽略空白字段
假设 $var1 (keywords) 为空,它将选择所有空文件,但我希望 $var1 为空,结果会是这样的
$result = mysql_query("SELECT DISTINCT title,description FROM table WHERE author='$var2' OR date='$var3' OR forums='$var4' ");
如果 $var2 为空,结果会是这样的
$result = mysql_query("SELECT DISTINCT title,description FROM table WHERE keywords ='$var1' OR date='$var3' OR forums='$var4' ");
如果 $var1 和 $var2 为空,结果会是这样的
$result = mysql_query("SELECT DISTINCT title,description FROM table WHERE date='$var3' OR forums='$var4' ");
等等
【问题讨论】:
-
看看 Gail Shaw 在catch-all queries 上的博文。