选中时检查在数据库中插入的无线电

时间:2011-10-06 06:43:21

标签: php mysql codeigniter

假设我们及时在数据库中插入数据有3 input:radio并从中选择一个,将其值插入数据库。现在如何从数据库中选择插入数据库的相同无线电,检查。

实施例: 我们有3个input:radio

<input type="radio" name="type1" value="value1">
<input type="radio" name="type2" value="value2" checked>
<input type="radio" name="type3" value="value3">

将已检查的value2插入数据库,现在我们想要show(select)所有无线电并检查插入到database.as的无线电(这是在从数据库中选择之后):

<input type="radio" name="type1" value="value1">
<input type="radio" name="type2" value="value2" checked> // this value was in the database
<input type="radio" name="type3" value="value3">

如何用PHP修复它?

2 个答案:

答案 0 :(得分:1)

正如alreay所说,你应该使用相同的名称作为单选按钮。另外,正确的sintax是checked="checked"

<input type="radio" name="type" value="value1">Value 1
<input type="radio" name="type" value="value2" checked="checked">Value 2
<input type="radio" name="type" value="value3">Value 3

从数据库中检索时,您可以检查值是否等于html中的值,并相应地设置checked属性。

<input type="radio" name="type" value="value1" <?php echo ($query_hs->type == 'value1') ? 'checked="checked"' :'';?>>Value 1
<input type="radio" name="type" value="value2" <?php echo ($query_hs->type == 'value2') ? 'checked="checked"' :'';?>>Value 2
<input type="radio" name="type" value="value3" <?php echo ($query_hs->type == 'value3') ? 'checked="checked"' :'';?>>Value 3

只需用我的标准值替换您自己的值,例如:

<input type="radio" name="type" value="hotel" <?php echo ($query_hs->type == 'hotel') ? 'checked="checked"' :'';?>>Hotel

答案 1 :(得分:0)

首先,无线电元素的名称对于所有三个单选按钮应该相同,以便它们形成一个组。否则,您的用户将能够选择所有这三个。

其次,在PHP中将值集定义为数组。并运行forloop生成HTML代码。这些方面的东西 -

<?php
$radio_values = array("value1", "value2", "value3"); // Assuming your set of values is static

foreach($radio_values as $value) {
    $value_from_db = read_radio_value();      // Replace this with your logic to fetch values from database
    if ($value_from_db == $value) $checked = "checked";
    else $checked = ""; 
    echo "<input type=\"radio\" name=\"type\" value=\"{$value[$i]}\" {$checked}>";  
}
?>