#php #mysql #html #forms #radio-button
#php #mysql #HTML #формирует #переключатель
Вопрос:
<form>
<?php
$stylesheet = array("style_default.css" => "Default", "style_red.css" => "Red");
foreach($stylesheet as $key => $value)
{
echo '<input type="radio" name="style" value="'.$key.'" checked="';
if($css == $key){echo 'yes';} else{echo 'no';}
echo '" /> '.$value.'<br />';
}
?>
<input type="submit" name="style_change" value="Spara inställningar" />
</form>
Вот код, который я использую для создания переключателей. В моей базе данных у меня есть таблица, которая сохраняет значение переключателей. Я получил визуальное доказательство на странице, что путь правильный, и я также проверил, чтобы $ css выдавал правильное значение с помощью echo.
У меня есть значение «style_default.css», но я выбираю только кнопку для красного цвета. Кто-нибудь, кто знает, где все это пошло не так?
Комментарии:
1. Оно пришло из фрагмента кода выше, среди mysql-кода. Как я уже сказал: я проверил, поэтому он выдает правильное значение.
Ответ №1:
$css = "style_default.css"; //assumption
$stylesheet = array("style_default.css" => "Default", "style_red.css" => "Red");
foreach($stylesheet as $key => $value){
echo '<input type="radio" name="style" value="'.$key.'" '; echo ($css == $key)? 'checked>' : '">'; echo $value.'<br/>';
}
Комментарии:
1. Боюсь, теперь они оба пустые.
Ответ №2:
checked
Атрибут принимает только checked
и пустую строку в качестве своего значения. Например: checked="checked"
или checked=""
являются правильными.