【问题标题】:How to work with SELECT and RADIO together for displaying data如何使用 SELECT 和 RADIO 一起显示数据
【发布时间】:2018-07-06 15:20:06
【问题描述】:

我正在开发一个模块,管理员可以在该模块中查看用户列表,即未批准、已批准和列表中的所有用户。我添加了一个功能,其中提供了一个选择下拉列表,它列出了数据库中的批号。现在,当管理员从下拉列表中选择一个批号,然后选择三个无线电之一,即已批准、未批准和所有列表必须基于所选的批号。到目前为止,我所做的只是基于收音机获取用户列表。我也需要使用批号来实现这一点,以便管理员首先从下拉列表中选择批号,然后选择所需的收音机以查看列表。如何实施?我正在为此发布我的代码,任何见解或帮助都会非常有帮助。

<form  action=""  method="POST">
  <div class="col-md-6">
    <div class="col-md-4">
      <label for="username" class="control-label">Batch No. :
      </label>
    </div>
    <div class="col-md-8">
      <select name="batchnumber" class="form-control" required id="batchno" >   
        <option value="">select batch number
        </option>                 
        <?php 
$sql = mysql_query("SELECT DISTINCT rpp_regn_bulkbatch_no,rpp_id FROM tbl_regn_prescribed_parameters where rpp_regn_bulkbatch_no  != 0");
while ($row = mysql_fetch_assoc($sql)){   
echo "<option value=" . $row['id'] . ">" . $row['rpp_regn_bulkbatch_no'] . "</option>";
}
?>
      </select>
    </div>
  </div>    
  <input type='radio'  name='users' value='unapproved' checked /> Unapproved Candidates &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type='radio'  name='users' value='approved' /> Approved Candidates &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type='radio' id='show' name='users' value='all'  /> All Candidates 
  <input type="submit" value="View Candidates" id="submit" class="btn btn-success">

对于 PHP,

if((isset($_POST['users'])) && (isset($_POST['batchnumber'])) ){


    $users=$_POST['users'];
    $batchnumber= $_POST['batchnumber'];

}else{
    $users='';
    $batchnumber='';
}


switch ($users)

{

case "all":
  $sqlQuery = "SELECT * FROM tbl_user WHERE type =3  ";         
break;

case "approved":
  $sqlQuery = "SELECT * FROM tbl_user WHERE type =3 AND status =1";    break;

case "unapproved":
  $sqlQuery = "SELECT * FROM tbl_user WHERE type =3 AND status =0";    
 break;

} 

【问题讨论】:

  • 有几件事:首先,使用准备好的语句来避免 SQL 注入。接下来,将无线电的值属性更改为数据库中的值。 IOW,而不是“批准”,使用“1”。您将需要创建一个 SQL 语句,该语句在其 where 子句中使用表单提供的值。对于状态变量,您可能需要将 all 的 val 设置为“0,1”。并使用status in ($status)。这看起来像 status in (1) 表示已批准,status in (0,1) 表示完成的 SQL 语句中的所有。
  • 感谢您的宝贵时间。最后自己修好了。 :)

标签: php mysql drop-down-menu radio-button


【解决方案1】:

应该是这样的,

if (isset($_POST['submit1'])) {


 if(isset($_POST['batchnumber'])) {

$selected = $_POST['batchnumber'];

}else { echo "empty.";$selected='';}

if(isset($_POST['users'])){


    $users=$_POST['users']; 
}else{
    $users='';
}


switch ($users)

{

case "all":
  $sqlQuery = "SELECT * FROM tbl_user WHERE type =3 AND bulk_batch_number= '$selected' ";          
break;

case "approved":
  $sqlQuery = "SELECT * FROM tbl_user WHERE type =3 AND status =1 
break;

case "unapproved":
  $sqlQuery = "SELECT * FROM tbl_user WHERE type =3 AND status =0 AND bulk_batch_number= '$selected'";     break;



}   }

?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 2022-08-05
    • 1970-01-01
    相关资源
    最近更新 更多