我正在查询整个表单其中元素的类型在选择中被选中。Mysql WHERE子句等于所有元素
我的查询是这样的:
SELECT * from table WHERE element = $selection.
现在,在选择的选项之一是显示所有。我怎样才能做一个查询,如:
SELECT * from table WHERE element = ALL?
我知道我可以验证它,并使用不同的查询为每个个案,
元素选择:
SELECT * from table WHERE element = $selection
如果$selection == 'all'
然后使用:
SELECT * from table
但这是只是一个例子,在我的情况下,我将不得不做太多查询,我可以做,但我想事先检查,如果我只能使用ONE查询两种情况。
这是我的代码:
function displayElements($sec,$ele,$from,$to){ // sec and ele could be set to 'ALL'
mysql_connect("#", "#", "#") or die(mysql_error());
mysql_select_db("#") or die(mysql_error());
mysql_query("SET NAMES 'utf8'");
//queries
if($ele == 'Box'){
$resultado = mysql_query("SELECT * FROM elementos WHERE seccion = '$sec' AND elemento LIKE '%Box:%' AND fecha BETWEEN '$from' AND '$to' ORDER BY fecha ASC");
}
else{
$resultado = mysql_query("SELECT * FROM elementos WHERE seccion = '$sec' AND elemento = '$ele' AND fecha BETWEEN '$from' AND '$to' ORDER BY fecha ASC");
}
if (!$resultado) {
echo "No se pudo ejecutar con exito la consulta ($sql) en la BD: " . mysql_error();
exit;
}
if (mysql_num_rows($resultado) == 0) {
echo "nada para mostrar.";
exit;
}..blablabla
谢谢!
什么是输入表以及如何期望的结果表看起来像(不是所有的20.000 DATAS,而是一个例子)) – helle
刚刚离开'where'?或者在('...','...')中使用'where元素,如果语句是自动生成的 – halfbit