2014-04-14 94 views
0

我試圖在選擇顏色的選項值爲空時從列中獲取所有值。 我已創建的形式,和下拉菜單看起來像如果選擇的選項值爲空,請選中列中的所有值

顏色

<option value=""> 
<option value="61">8019 - Smeđa 
<option value="28">8017 - Smedja svijetla 
<option value="27">8004 - Cigla crvena 
<option value="26">8003 - Boja bakra 

尺寸

<?php 
while($row = mysqli_fetch_array($dimensions)) 
{ 
echo '<option value= "'.$row['ArtOpis'].'">'.$row['ArtOpis'].'</option>'; 
} 

?> 
</select> 

如果我Â選取尺寸和離開顏色值空的,然後從選擇的菜單的所有顏色應打印。例如。如果需要噴塗4,4x20毫米尺寸,如果我不選擇顏色,請將其留空,我想用所有顏色打印此螺絲。 vijci_search2.php

$col=$_POST['color'] 

$dimen=$_POST['dimensions']; 
$sql_color = (!empty($col)) ? "jos_ib_boje.BojaId=" . $col . " AND " : ''; 


Query 
$result = mysqli_query($con, "SELECT jos_ib_artikli.ArtSifra, jos_ib_artikli.ArtNaziv, jos_ib_artikli.ArtOpis,jos_ib_artikli.ArtKategorija, jos_ib_artikli.ArtBoja, jos_ib_jedmj.JmNaziv, jos_ib_pakovanja.PakOznaka, 
jos_ib_artikli.ArtStanjeSa, jos_ib_artikli.ArtStanjeBL, jos_ib_boje.BojaId, jos_ib_boje.BojaNaziv 

FROM jos_ib_artikli 

INNER JOIN jos_ib_jedmj ON jos_ib_artikli.ArtMjera = jos_ib_jedmj.JmId 

INNER JOIN jos_ib_pakovanja ON jos_ib_artikli.ArtPakovanje = jos_ib_pakovanja.PakId 

INNER JOIN jos_ib_boje ON jos_ib_artikli.ArtBoja = jos_ib_boje.BojaId 

WHERE jos_ib_artikli.ArtOpis LIKE '$dimen' AND jos_ib_artikli.ArtBoja='$sql_color' AND jos_ib_artikli.ArtStanjeSa>0"); 
+0

問題是什麼?你想達到什麼就不清楚了。 –

+0

我有兩個選擇,一是選擇尺寸和第二選擇的顏色。當我選擇前5×5毫米螺紋尺寸,並點擊搜索我想顯示螺絲與5,5尺寸的所有顏色不只是特定的顏色。這裏的關鍵是什麼時候顏色值是左bl沒有價值的ank打印列中的所有值。 – user3292053

+0

您可以在選擇某個維度時執行ajax調用,並請求該維度的所有顏色,然後使用(JSON)結果填充顏色選擇。 –

回答

-1

我已經解決了這個問題。 錯誤在這裏。 //壞 $ sql_color =(!empty($ col))? 「jos_ib_boje.BojaId =」。 $ col。 「AND」:'';

//好 $ sql_color =(!empty($ col))? 「AND jos_ib_artikli.ArtBoja =」。 $顏色。 「」:'';

$ SQL =「SELECT jos_ib_artikli.ArtSifra,jos_ib_artikli.ArtNaziv,jos_ib_artikli.ArtOpis,jos_ib_artikli.ArtKategorija,jos_ib_artikli.ArtBoja,jos_ib_jedmj.JmNaziv,jos_ib_pakovanja.PakOznaka, jos_ib_artikli.ArtStanjeSa,jos_ib_artikli.ArtStanjeBL,jos_ib_boje.BojaId, jos_ib_boje.BojaNaziv

FROM jos_ib_artikli 

INNER JOIN jos_ib_jedmj ON jos_ib_artikli.ArtMjera = jos_ib_jedmj.JmId 

INNER JOIN jos_ib_pakovanja ON jos_ib_artikli.ArtPakovanje = jos_ib_pakovanja.PakId 

INNER JOIN jos_ib_boje ON jos_ib_artikli.ArtBoja = jos_ib_boje.BojaId 

WHERE jos_ib_artikli.ArtOpis LIKE '$dimenzija' ". $sql_bojalica . " AND ArtStanjeSA>0 " ; 
0

試試這個

<?php 
$col=$_POST['color'] 

$dimen=$_POST['dimensions']; 

$query .= "SELECT jos_ib_artikli.ArtSifra, jos_ib_artikli.ArtNaziv, jos_ib_artikli.ArtOpis,jos_ib_artikli.ArtKategorija, jos_ib_artikli.ArtBoja, jos_ib_jedmj.JmNaziv, jos_ib_pakovanja.PakOznaka, 
jos_ib_artikli.ArtStanjeSa, jos_ib_artikli.ArtStanjeBL, jos_ib_boje.BojaId, jos_ib_boje.BojaNaziv 

FROM jos_ib_artikli 

INNER JOIN jos_ib_jedmj ON jos_ib_artikli.ArtMjera = jos_ib_jedmj.JmId 

INNER JOIN jos_ib_pakovanja ON jos_ib_artikli.ArtPakovanje = jos_ib_pakovanja.PakId 

INNER JOIN jos_ib_boje ON jos_ib_artikli.ArtBoja = jos_ib_boje.BojaId 

WHERE jos_ib_artikli.ArtOpis LIKE '$dimen'"; 

if($col != '' && !empty($col)) { $query .= " AND jos_ib_boje.BojaId=" . $col ."";} 

$query .= " AND jos_ib_artikli.ArtBoja='$sql_color' AND jos_ib_artikli.ArtStanjeSa>0"; 

$result = mysqli_query($con, $query); 

你看這個變量($ sql_color)它不是定義,因此首先定義它,然後再運行查詢?

相關問題