установите флажок, когда значение = одно из другого значения - PullRequest
0 голосов
/ 18 июня 2011

У меня есть такое значение:

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

и у меня есть это:

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

Я хочу записать источник, поэтому, если $brand_id является одним из $brands флажок установлен означает, что печать "проверен";

$ брендов является переменной и пишите по php

Ответы [ 3 ]

1 голос
/ 18 июня 2011
$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 } ?>
1 голос
/ 18 июня 2011

Это выведет <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'");

Но, не зная больше о вашем заявлении, я не могу дать полный ответ.

1 голос
/ 18 июня 2011
<input type="checkbox" name="brand[]" value="<?php echo $brand_id.'" '; echo (in_array($brand_id, $brands))?"checked/>":"/>"; ?>
...