2011-06-18 100 views
-2

我有這樣一個值:檢查選擇框,當值=等價值

$brands = "1,2,3,4,5"

,我有這樣的:

<input type="checkbox" name="brand[]" value="<?php print"$brand_id"; ?>" /><?php print"$brand_id"; ?> 

我想寫源,所以當$brand_id是選中的$brands複選框之一表示打印「已檢查」;

$品牌是可變的,由PHP

+5

至少試着去做。 –

回答

1

這將輸出你有每個品牌<input>並追加checked="checked"任何選定的。

$selected = array(2, 5); 
$brands = array(1, 2, 3, 4, 5); 

foreach ($brands as $brand) { 
    echo '<input type="checkbox" name="brand[]" value="'.$brand.'"'.(in_array($brand, $selected) ? ' checked="checked"' : '').'/>'."\n"; 
} 

如果$品牌和$選擇是動態的(例如,從MySQL數據庫),你可以這樣做:

$brands = mysql_fetch_row('SELECT id FROM brand'); 
$selected = mysql_fetch_row("SELECT brand_id FROM user_brands WHERE user_id = '42'"); 

但不知道更多關於你的應用程序,我不能給出一個完整的回答。

+0

我怎麼能改變陣列(2,5)陣列($品牌) 當我這樣做,只是第一個文本框檢查 –

+0

@ebad:陣列(1,2,3,4,5)是你的品牌數量有和數組(2,5)是你選擇的品牌 – Gowri

+0

我明白,但品牌數量是動態的,必須從數據庫中獲得,而且數組(2,5)是動態的並從數據庫中的其他表中獲得,3,4,5也變爲1,4,6,3或2,5變爲1,4,6,3 –

1
<input type="checkbox" name="brand[]" value="<?php echo $brand_id.'" '; echo (in_array($brand_id, $brands))?"checked/>":"/>"; ?> 
1
$brands =array("1,2,3,4,5"); 
<?php foreach($brand as $value){ ?> 
<input type="checkbox" name="brand[]" value="<?php echo "$brand_id"; ?>"<?php ($brand_id==$value)?"checked":'';} /> 
<?php } ?>