2013-02-17 171 views
0

我有一個表格上我的網站20個複選框,我需要1-3之間選擇。但你可以有發言權PHP:複選框和形式

1,2和3 或 4,5和1

一旦用戶選擇了他想要它在數據庫中搜索基於他們選擇什麼合適的答案,檢查框。

我的想法是有「IF」語句,但意味着我將有負載。

周圍沒有任何其他辦法嗎?

if ((!empty($1))) 
    { 
    $sql= "SELECT * FROM db WHERE db.category 
    LIKE CONVERT(_utf8 '%1%' USING latin1) COLLATE latin1_swedish_ci $limit "; 
    $result = mysql_query($sql); 
    } 
    else if ((!empty($1)) && (!empty($2))) { 
    $sql= "SELECT * FROM db WHERE db.category 
    LIKE CONVERT(_utf8 '%1%' USING latin1) COLLATE latin1_swedish_ci 
    AND db.category LIKE CONVERT(_utf8 '%2%' USING latin1) 
    COLLATE latin1_swedish_ci $limit "; $result = mysql_query($sql); 

}

+0

你試過了嗎? – 2013-02-17 22:38:22

+0

您需要使用JavaScript控制客戶端,然後提交表單(或使用實時AJAX),您必須在PHP中再次重新驗證服務器端的輸入。 – 2013-02-17 22:39:10

+0

「加載」什麼樣的負載?除非您在8088-4.77mhz計算機上運行瀏覽器,否則計算有多少選中的複選框不會產生「負載」。 – 2013-02-17 23:17:23

回答

0

,如果您有複選框陣列可以使用的foreach循環迭代通過所有選中的複選框。你應該給一些html更具體的你的複選框值是什麼。 試試看:Get $_POST from multiple checkboxes

+0

如果((!空($ 1))) \t { \t \t \t \t $ SQL =「SELECT * FROM DB WHERE db.category LIKE CONVERT(_utf8 '%1%' 使用latin1,)COLLATE latin1_swedish_ci $限制 \t \t「; \t \t $ result = mysql_query($ sql); \t} \t \t否則,如果((!空($ 1))&&(!空($ 2))) \t { \t \t \t \t $ SQL =「SELECT * FROM DB WHERE db.category LIKE CONVERT( _utf8'%1%'使用latin1)COLLATE latin1_swedish_ci AND db.category LIKE CONVERT(_utf8'%2%'使用latin1)COLLATE latin1_swedish_ci $ limit \t \t「; \t \t $ result = mysql_query($ sql); \t} – user2081357 2013-02-17 22:52:03

+0

您應該編輯您的問題,這個附加代碼,因爲它很難不縮進閱讀代碼。 – insanebits 2013-02-17 22:54:17

0

在JavaScript中使用DOM,這並不難。

此外,你會發現有關複選框的信息here