2011-03-05 28 views
-2

可能重複:
PHP & MYSQL: How can i neglect empty variables from selectPHP和MySQL:我怎麼能忽略空變量從選擇

您好所有;

如果我有4個變量,我想選擇不同的值形成數據的基礎上

<?php 
$var1 = $_GET["var1"]; //this variable can be blank 
$var2 = $_GET["var2"]; //this variable can be blank 
$var3 = $_GET["var3"]; //this variable can be blank 
$var4 = $_GET["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(關鍵字)爲空將選擇所有空的Fileds,但我想,如果$ 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' "); 

這鏈接包含一些答案(但其中一些不專業或不工作)..請它是緊急的

PHP & MYSQL: How can i neglect empty variables from select

+1

這個問題又來了嗎? – Orbit 2011-03-05 07:56:19

+1

我想你不應該問同樣的問題兩次。但是會嘗試回答你(老)的問題。 – 2011-03-05 07:56:43

+0

是的,早些時候通過它,但我會重新審視。 – Orbit 2011-03-05 07:58:02

回答

0

請原諒我,如果有什麼不對,這裏已經很晚了,我只是在Windows的記事本中輸入了這個信息,但沒有測試環境。 *謹慎使用* :)

$vars = array(
'blah1' => '', 
'blah2' => '', 
'blah3' => '', 
); 

$sql_statement = "SELECT first, last FROM names WHERE"; 

$clause = ""; 
foreach($vars as $k=$v) 
{ 
$k = trim($k); 
if(!empty($k)) 
{ 
    $clause .= " `$k` = '$v' OR"; 
} 
} 
$clause = rtrim($clause, "OR"); 

// $clause should have what you want.