php中的单选按钮值未显示

时间:2012-09-07 11:35:48

标签: php html

我有一个搜索本地数据库的表单。它仍处于生产阶段。然而,当我试图获得单选按钮的值时,什么都没有。以下是代码:

PHP

$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' ";
}

HTML

<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"/>&nbsp;&nbsp;
                    </div>  

                    <div style="clear: both;"></div>

挑战是当我在这里未显示的PHP代码中回显时,名为new1的单选按钮的值变为空白。我必须得到单选按钮的值,以便我可以在查询中使用它。

3 个答案:

答案 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'";