我有一个搜索本地数据库的表单。它仍处于生产阶段。然而,当我试图获得单选按钮的值时,什么都没有。以下是代码:
$k = $_GET['k'];
$terms = explode(" ", $k);
$query = "SELECT * FROM series8000 WHERE ";
$vision = $_GET['Vision'];
$new = $_GET['new1'];
$sithelo = sithelo;
foreach ($terms as $each) {
$i++;
if ($i == 1)
$query .= "Description LIKE '%$each%' ";
else
$query .= "OR Description LIKE '%$each%' ";
}
$query .= "AND VisionType = '$vision' ";
if (!empty($new1 )) {
$query .= "AND Change = '$new1' ";
}
<form action='index.php' method='get'>
<fieldset>
<legend>Change</legend>
<label for="New" class="property">New Product</label>
<div class="labels">
<input type="radio" name="new1" <?php if (isset($new1) && $new1 == "N") echo "checked=yes"; ?>size="30" value="N"/>
<input type="radio" name="new1" size="30" value="Y"/>
<input type="radio" name="new1" size="30" value="YN"/>
</div>
<div style="clear: both;"></div>
挑战是当我在这里未显示的PHP代码中回显时,名为new1的单选按钮的值变为空白。我必须得到单选按钮的值,以便我可以在查询中使用它。
答案 0 :(得分:3)
请尝试使用checked= 'checked'
而不是使用checked = yes。
答案 1 :(得分:2)
更改
<input type="radio" name="new1" <?php if (isset($new1) && $new1 == "N") echo "checked=yes"; ?>size="30" value="N"/>
向
<input type='radio' name='new1' <?php if (isset($new1) && $new1 == "N") echo "checked='checked' "; ?>size='30' value='N'/>
我的回答不同,因为在之前的答案中输出的checked='checked'
和size='30'
之间缺少空格。
答案 2 :(得分:1)
你把new1的值放在一个变量$ new中,但是当你遇到这行时你似乎没有使用它:
if (!empty($new1 )) {
$query .= "AND Change = '$new1' ";
}
尝试使用:
if (!empty($new)) {
$query .= "AND Change = '$new' ";
}
并且还使用了Kalai所说的:
echo "checked='checked'";