如何使用PHP中的复选框将MySQL查询搜索从0更改为1

时间:2019-02-14 14:50:19

标签: php mysql

我试图将查询的获取方式从显示0的项目更改为1,然后使用复选框再次返回。

<?php
$query = "SELECT rowNum, DeviceID, IP, MAC, ServiceT, Brand, Model, Location, Retired FROM equipement";
if ($_POST['box-retired'] == 'y')
  {$query .= " WHERE Retired = '0'";}
else
  {$query .= " WHERE Retired = '1'";}
$response = @mysqli_query($conn, $query);
if($response)
{
    while($row = mysqli_fetch_array($response))
    {
      echo '<table><tr>
        <td align="left">'.$row['DeviceID'].'</td>
        <td align="left">'.$row['IP'].'</td>
        <td align="left">'.$row['MAC'].'</td>
        <td align="left">'.$row['ServiceT'].'</td>
        <td align="left">'.$row['Brand'].'</td>
        <td align="left">'.$row['Model'].'</td>
        <td align="left">'.$row['Location'].'</td>
        <td align="left">'.$row['Retired'].'</td>
        <td><a href="editGUIinfo.php?edit_id='.$row['rowNum'].'">
            <button type="button"> Edit</button></a>
        </td>
            </tr></table>';
    }
} 
mysqli_close($conn);
?>
    <input type="hidden" name="box-retired" id="box-retired" value="n"/>
    <input type="checkbox" name="box-retired" id="box-retired" value="y">
        <b>Retired</b>
    </input>

我要查找的结果是,选中此复选框后,它将$ query“ WHERE Retired = 0”更改为“ WHERE Retired = 1”,然后在未选中时再次返回。我附上了一些我所谈论的图片。希望对您有所帮助。

Before the query fetch changes

after the query fetch changes

1 个答案:

答案 0 :(得分:0)

您有两种选择:

  1. 最简单:使用JavaScript排序

获取所有行,无论设备是否退役。 根据选中的框显示相应的结果。

  1. 最干净:实现AJAX

再次调用ajax来获取正确的行,具体取决于选中了哪个框。

在两种情况下,当包装盒状态发生变化时,您都必须刷新表。