从url radio标签检查的值

时间:2017-05-01 04:11:08

标签: php url

<?php
$gender = $_GET['gender'];
$mysql_query = "select * from gender where value='$gender'";
$result = $conn->query($mysql_query);
while ($row = $result->fetch_assoc()) {
?>
    <input type="radio" name="gender" value="<?php echo $row['value'];?>">
<?php 
    echo $row['value'];
}
?>

让我们假设网址是: - url.php?gender=male
数据库中的价值是男性,女性,儿童 如何在传递URL时检查男性

2 个答案:

答案 0 :(得分:1)

将条件放在输入电台<?php echo ($row['value']=='male' || $row['value']=='female' || $row['value']=='children' ) ? 'checked' : ''; ?>

 <input type="radio" name="gender" value="<?php echo $row['value']; ?>" <?php echo ($row['value']=='male' || $row['value']=='female' || $row['value']=='children' ) ? 'checked' : ''; ?>><?php echo $row['value']; ?>

和女性和儿童相同

答案 1 :(得分:1)

只需设置两个复选框,然后检查网址中设置的复选框

<input type="radio" name="gender" value="male" <?= (strtolower($_GET['gender']) === 'male' ? 'checked' : ''); ?>/>

<input type="radio" name="gender" value="female" <?= (strtolower($_GET['gender']) === 'female' ? 'checked' : '');?>  />

我刚刚在元素中使用了short hand if语句来测试性别参数的内容。

回复您的评论

我开始写你的评论的回复,一旦我知道我需要代码示例我已经把它移到这里:

简短回答是的,您需要为每个字段实例执行此操作。

但是有一个动态循环选项。

您需要能够从查询中构建一个数组,该数组包含每个输入元素的类型,名称,值,并进行检查。数组需要看起来像这样:

<?php 

    $inputs = [
        0 => [
            'type' => 'radio',
            'name' => 'gender',
            'value' => 'male',
            'checked' => true
        ],
        1 => [
            'type' => 'radio',
            'name' => 'gender',
            'value' => 'female',
            'checked' => false
        ]    
    ];

现在您的输入数组已定义,您可以循环动态创建输入。在这里,我在一个循环中创建两个输入:

    <?php foreach($inputs as $inp): ?>
        <input type="<?= inp['type']; ?>" name="<?= $inp['name']; ?>" value="<?=$inp['name']; ?>" <?= $inp['checked'] ? 'checked' : ''; /> 
    <?php endforeach; ?>

因为您在URL作为GET参数传递性别的方式,您可能需要在顶部使用我的原始答案