<?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时检查男性
答案 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
参数传递性别的方式,您可能需要在顶部使用我的原始答案