2011-09-20 101 views
0

我有一個高於這個集團與PHP沒有MySQL查詢

id | type 
--- ----- 
1 | fh 
--- ----- 
2 | fhs 
--- ----- 
3 | so  
--- ----- 
4 | sos 


while($row = mysql_fetch_array($res)){ 
    if($row['type'] == "fh" OR $row['type'] == "fhs"){ 
     $name = "Flush Head Studs"; 
    }else if($row['type'] == "so" OR $row['type'] == "sos"){ 
     $name = "Through Standoffs"; 
    } 
    $category .= '<option value="'.$row['type'].'" name="'.$row['type'].'">' . $name . '</option>'; 
} 

碼錶兩次displayng名。我該怎麼做,名單隻有一次在名單上。

+0

@JamWaffles這是一種回答,奇怪的原因downvote某人提供了一個答案... – feeela

+0

@JamWaffles:這是一個QA網站,提出問題。我看不出downvote是合理的嗎? OP正在尋求幫助,而不是一些蹩腳的咆哮 – knittl

+0

+1:我只是因爲JamWaffles不適當的行爲而提出了這個問題。 –

回答

1

你的結果是正確的!如果你改變你這樣的代碼,你可以看到爲什麼...

while($row = mysql_fetch_array($res)){ 
    if($row['type'] == "fh" OR $row['type'] == "fhs"){ 
     $name = "Flush Head Studs ".$row['type']; 
    }else if($row['type'] == "so" OR $row['type'] == "sos"){ 
     $name = "Through Standoffs ".$row['type']; 
    } 
    $category .= '<option value="'.$row['type'].'" name="'.$row['type'].'">' . $name . '</option>'; 
} 

,如果你想選擇所有類型,我建議你的描述或名稱欄添加到您的表...因爲你憂色所有的您的類型作爲選擇字段中的值。

+0

是的,我知道,但它不是我需要的:D – Omerimuni

+0

你能解釋爲什麼你需要這個嗎?將有助於找到解決方案:-) – Daniel

+0

我有所有項目在分貝。客戶有麻煩從大分貝中找到物品。爲此,我製作小型發電機。在第一個選擇框中,您可以選擇沖洗頭螺栓或穿過支架。之後,腳本生成第二個選擇框,你可以選擇材料。示例FH是鍍鋅鋼沖洗頭螺栓和FHS是不鏽鋼沖洗頭螺栓。我這樣做是因爲我認爲這對客戶更容易。 Sry爲我的糟糕的工程師,我希望你明白什麼,爲什麼我需要這樣的=) – Omerimuni

0

在您所顯示的代碼,你有4個diferent value atributes(從$行[「型」]來)2 diferent(和重複)option內容對用戶可見的(從$名稱來)

所以,你必須選擇這個方式之一:
1-放棄兩個value atributes(最簡單的方法是刪除ORsOR本身的一側)的(這也許就是你所要求的)
2 - 使用另外$ row ['type']在option內容上做出明顯區別(但是這會給出4個選項不是2)

$category .= '<option value="'.$row['type'].'" name="'.$row['type'].'">' .$row['type'].' - '. $name . '</option>'; 

3-給我們更多的背景來解決問題。