2013-08-01 3 views
0

Я знаю, что это основной вопрос, на который я должен ответить, но мне никогда не приходилось даже рассматривать его раньше, и я не мог найти ничего через Google.как установить динамические флажки

Я хочу автоматически выбирать или оставлять невыбранные флажки на основе информации в базе данных.

, например

У меня есть две пар флажков каждых с мужскими туфлями и вариантом Женской обуви. Пользователь может выбрать, хотят ли они только мужскую обувь или обувь только для женщин, или обе, и флажки будут соответствующим образом проверены. Затем есть еще один набор для джинсов, которые предлагают одинаковые варианты.

В базе данных у меня есть несколько столбцов

идентификатор | foreignKeyId | Обувь | Джинсы

колонок идентификатора автоматически увеличивается на единицу, то foreignKeyId заполняется соответствующим ForeignKey, обувь и джинсы были заселены с ENUM «0», «1», «2», «3»

0 = нет выбора

1 = мужских не выбран

2 = женских выбран

3 = выбраны оба

Я затем нажал на DAT a из базы данных, но я не могу решить, как применять эту информацию. Я предполагаю, что мне нужно перепроектировать мою базу данных.

Каким будет наилучший способ хранения и применения этой информации?

ответ

1

Если вы хотите сохранить эту структуру в БД, то:

после запроса вашей БД получить в переменную значение столбца Джинса.

$jeans = $row["Jeans"]; 

, а затем выяснить, что вы должны показать пользователю

$mens=''; 
$womens= ''; 

switch($jeans){ 
case "1": $mens=' checked="checked"'; break; 
case "2": $womens=' checked="checked"'; break; 
case "3": $mens=' checked="checked"'; $womens=' checked="checked"'; break; 
} 

echo "<input type='checkbox' name='mens' ".$mens." /> Mens"; 
echo "<input type='checkbox' name='womens' ".$womens." /> Womens"; 
+0

@ tony09uk Вы нашли то, что искали? Вы хотите принять любой из ответов? – geoak

0

Я хочу, чтобы автоматически выбрать или оставить невыбранные флажков на основе информации в базе данных.

Вы можете попробовать эту логику:

Получить строки из таблицы затем итерацию. в каждой строке, спросите, соответствует ли значение поля значению флажка. Если это так, установите значение переменной $checked в значение "checked=true". Если это не так, установите значение переменной $checked в значение "" или пустую строку. Echo $checked переменная в теге <input type="checkbox">.

Как это:

if($row->value == $checkboxvalue){ 
    $checked = "checked=true" 
}else{ 
    $checked = ""; 
} 

<input type="checkbox" <?php echo $checked?>> 

Я надеюсь, что это поможет вам.:)

-JCB

Смежные вопросы