如何使用在选择框中选择的值来更改表上显示的数据?

时间:2019-05-28 17:49:10

标签: php html mysql

基于在组合框中选择的用户,我希望从数据库显示用户数据的表仅显示与在组合框中选择的用户相对应的数据。

我主要尝试使用数组来存储值,但无法正常工作。

显示要选择的名称的组合框

$myEquipment->parts

显示数据库中数据的表。

    <select>
        <?php
        $res = mysqli_query($db, "SELECT * FROM shifts");
        while ($row = mysqli_fetch_array($res))
        {
            ?>
            <option><?php echo $row ["name"]; ?></option>
            <?php
        }
        ?>
        <button class="btn-primary rounded">Find</button>
    </select>
</form>

我想知道是否通过使用表单并执行一个功能,即按“查找”按钮时它将查找用户并仅显示其数据。谢谢

1 个答案:

答案 0 :(得分:0)

在此处检查我的代码,在获取数据以仅以表格形式显示具有所选名称的结果时,您必须添加一些内容,例如查询中的WHERE语句

<!-- Create a form with a select for all the names -->
<form method="POST" action="">
    <select name="name">
        <?php
        $res = mysqli_query($db, "SELECT * FROM shifts");
        while ($row = mysqli_fetch_array($res))
        {
            ?>
            <option><?php echo $row ["name"]; ?></option>
            <?php
        }
        ?>
        <button class="btn-primary rounded" name="find_info">Find</button>
    </select>
</form>

<?php
if(isset($_POST['find_info'])){ //If find button is pressed, show this:
?>
    <table class="table table-hover">
        <thead class="thead-dark"></thead>
        <tr>
            <th scope="col">Shift ID</th>
            <th scope="col">Name</th>
            <th scope="col">Origin</th>
            <th scope="col">Destination</th>
            <th scope="col">Date</th>
        </tr>
        </thead>
        <?php
        global $result;
        $nameSelected = strip_tags(mysqli_real_escape_string(htmlspecialchars($_POST['name'])));
        // Use WHERE in your mysqli query to fetch data where name in database is equal to $nameSelected
        if($result->num_rows > 0){
            while($row = $result->fetch_assoc()){
                ?>
             <tbody>
                <tr>
                    <td><?php echo $row['shift_id']; ?></td>
                    <td><?php echo $row['name']; ?></td>
                    <td><?php echo $row['origin']; ?></td>
                    <td><?php echo $row['destination']; ?></td>
                    <td><?php echo $row['date']; ?></td>
                </tr>
             </tbody>
    </table>
<?php
}
?>