如何通过读取数据库中的值来选择单选按钮?

时间:2014-04-03 12:06:19

标签: php html mysql radio-button

我有一个带有一些单选按钮,一个文本字段和一个textarea的表单,我将其插入到我的数据库中。现在我可以选择编辑整个事情。当我单击按钮编辑时,我再次获取该表单,textfield和textarea中的值与我插入数据库中的值相同。现在我不知道如何获得具有正确值的单选按钮作为数据库中的值检查。

这是我的表格:

<<<EOT
            <table>
  <form action="index.php?page=artikelen_bewerken_verwijderen&id={$_GET['id']}" method="post"> 
  <tr><th><td><input type="text" size="108%" name="title" value="{$titel}"></td></tr></th> 
  <tr><th><td> <textarea name="description"  rows="20" cols="80" >{$nieuwsbericht}</textarea></td></tr></th>
  <tr><th><td><input type="radio" name="club"  value="borussia-dortmund">Borussia Dortmund </td></tr></th>
  <tr><th><td><input type="radio" name="club"  value="ajax">Ajax</td></tr></th>
  <tr><th><td><input type="radio" name="club" value="ac-milan">AC Milan</td></tr></th>
  <tr><th><td><input type="radio" name="club"  value="fc-bayern">Bayern Munchen</td></tr></th>
  <tr><th><td><input type="radio" name="club"  value="feyenoord">Feyenoord</td></tr></th>
  <tr><th><td><input type="radio" name="club" value="juventus">Juventus</td></tr></th>
  <tr><th><td><input type="radio" name="club"  value="real-madrid">Real Madrid</td></tr></th>
  <tr><th><td><input type="radio" name="club"  value="fc-barcelona">Barcelona</td></tr></th>   
  <tr><th><td><input name="edit" type="submit" value="Edit"></td></tr></th> 
  </form> 
 </table>
EOT;

有谁知道如何按我想要的方式检查单选按钮?

3 个答案:

答案 0 :(得分:3)

最好的办法是将整个事情搞砸到一个json数组,然后让javascript做这件事。

如果只能选择一个单选按钮:

var radio_checked = '<?php echo $row['club']; ?>';

$(document).ready(function() { // start this when site is fully loaded
    if (radio_checked) { // check if variable is empty or not
        $(':radio[value='+radio_checked+']').prop('checked', true);
    }
});

或者如果选中了多个单选按钮(我假设您将结果转换为PHP中的数组):

var radio_array = <?php echo json_encode($yourArray); ?>;   

$(document).ready(function() { // start this when site is fully loaded
    if(!$.isArray(radio_array) || !radio_array.length) { // check if array is empty or not
        for (index in radio_array) {
            $(':radio[value='+radio_array[index]+']').prop('checked', true);
        }
    }
});

如果您不想使用jQuery,那么有一种纯PHP方式,但这需要每次编码:

<input type="radio" name="club" <?php echo ($row['club'] == 'borussia-dortmund')? 'checked' : ''; ?> value="borussia-dortmund">
<input type="radio" name="club" <?php echo ($row['club'] == 'ajax')? 'checked' : ''; ?> value="ajax">

我希望这会有所帮助。

答案 1 :(得分:0)

从数据库中获取值并使用单选按钮的值进行交叉检查。如果匹配,请在收音机中添加“已检查”属性。

<input type="radio" name="club" value="borussia-dortmund" <?= ($valueFromDatabase == 'borussia-dortmund') ? 'checked' : ''?>>

答案 2 :(得分:-1)

假设您的mysql结果数组是:$ row,假设您的单选按钮索引是:radio,现在$ row ['radio']它是您从数据库读取的单选按钮,放置条件为已选中或未选中,如下所示

<input type="radio" <?php if($row['radio']==1){?> 'checked' <?php } ?>/>

Let me know if you want more..