2011-07-24 29 views
1

我遇到了使用PHP和MYSQL的問題。我的用戶可以選擇(最多3個),這些從管理面板添加的選項的動態列表,如下圖所示:從php收集檢查列表中檢查複選框的數量

<input type="checkbox" name="<?php echo "category".$i; ?>" 
    value="<?php echo $cat_id; ?>" /> 
    <?php echo $cat_name; ?><br /> 
<?php 
$i++; 
} 
echo "<input type='hidden' name='num_cat' value='$num_cat' />"; 
?> 

我現在要算多少複選框「檢查」,如果有超過0和少於4檢查它將更新與這些存儲的MySQL表。它們通過1和0存儲。所以他們勾選'是'並且存儲1,他們勾選'否'並且存儲0。

我一直在嘗試使用jQuery和Javascript,但它們似乎都是用於複選框表單,它們具有預先寫在表單中的值,我的數據庫是動態的。

非常感謝您的幫助。

回答

2

在您的複選框名稱的末尾使用[],並在您的php腳本中相應的$ _POST []數組上使用sizeof函數。

<input type="checkbox" name="values[]" value="1" />Value 1 
<input type="checkbox" name="values[]" value="2" />Value 2 

sizeof($_POST['values']);

注意,複選框具有相同的名稱和用方括號(值[])結束。這表明複選框屬於一起,並被捆綁爲一個數組在php中。只有選定的值也會出現在數組中。

+0

但是更改名稱值肯定會停止收集PHP代碼作爲其替換'name =「<?php echo」category「。$ i;?>」'? – Ben

+0

爲什麼你需要一個獨特的名字?無論如何,值都會改變。 –