Radiobuttons через php

#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="" являются правильными.