1

我有一个搜索本地数据库的表单。它仍处于生产阶段。但是,当我尝试获取单选按钮的值时,什么也没有。下面是代码:

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 的单选按钮的值变为空白。我必须获取单选按钮的值,以便我可以在查询中使用它。

4

3 回答 3

3

请尝试使用checked= 'checked'而不是使用checked=yes。

于 2012-09-07T12:08:37.877 回答
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'

于 2012-09-07T12:33:02.527 回答
1

您将 new1 的值放在变量 $new 中,但在涉及到这一行时您似乎没有使用它:

if (!empty($new1 )) {
    $query .= "AND Change = '$new1' ";
}

尝试使用:

if (!empty($new)) {
    $query .= "AND Change = '$new' ";
}

并使用卡莱所说的:

 echo "checked='checked'";
于 2012-09-07T12:26:38.040 回答