首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使表输出仅在单击搜索按钮时显示

如何使表输出仅在单击搜索按钮时显示
EN

Stack Overflow用户
提问于 2019-06-12 02:49:03
回答 1查看 28关注 0票数 0

如何使表输出仅在单击搜索按钮时显示

<?php 
require_once 'includes/header.php'; 
if ($_POST) {
    $list = $_POST['categoryList'];
        if ( $list != "") {
            $sql = "SELECT product.product_name, product.product_image, product.category_id, product.active, category.category_name FROm product 
            INNER JOIN category on product.category_id = category.category_id 
            WHERE product.category_id = '".$_POST['categoryList']."' AND product.active = 1";
            $result = $connect ->query($sql);
        }
            /*else{
                $msg = echo 'Select category';
    }*/

}    
?>

在这里,我运行了一个php脚本来从数据库表product中提取数据

<div class="row">
    <div class="col-md-12">
<div class="card mt-5" style="width: 30rem; margin-left: 25%" >
              <div class="card-header bg-dark text-light"><span class="glyphicon glyphicon-th-list"></span> Categories </div>
              <div class="card-body">
                    <form action="" method="post" enctype="multipart/form-data">
                        <div class="form-group row mt-5 ml-5">
                            <label for="categoryList" class="col-sm-8 col-form-label">Category Name</label>
                            <div class="col-sm-8">
                              <select class="form-control" id="categoryList" name="categoryList">
                                <option value="">--Select--</option>
                                <?php
                                $sql= "SELECT category_id, category_name FROM category where category_status = 1 AND category_status = 1";
                                $result =$connect->query($sql);

                                while ($row = $result->fetch_array()) {
                                    echo '<option value="'.$row[0].'">'.$row[1].'</option>';
                                }
                                ?>                              
                              </select>
                            </div>
                    </div>
                          <div class="col">
                            <button type="submit" onclick="myFunction()" class="btn btn-dark" id="searchButton" style="margin-left: 100px">Search </button>
                        </div>
                    </form>



                </div>

这是我从数据库中选择类别的部分

</div>      
</div>
</div>
<div id="myDiv">
    <table class="table" id="myTable">
        <thead class="thead thead-dark">
        <th>Photo</th>
                            <th>Name</th>
                            <th>Category</th>
                        </thead>

                        <tbody>
                                <?php

                                @$sql = "SELECT product.product_name, product.product_image, product.category_id, product.active, category.category_name FROM product 
                                    INNER JOIN category on product.category_id = category.category_id 
                                    WHERE product.category_id = '".$_POST['categoryList']."' AND product.active = 1";
                                    $result = $connect ->query($sql);

                                    while($row = $result->fetch_assoc())
                                    {
                                        $imageUrl = substr($row['product_image'], 3);

                                        $name = $row['product_name'];
                                        $category = $row['category_name'];

                                ?>

                        <tr>
                            <td><?php echo '<img class="img-round" src='.$imageUrl.' style="height:30px; width:50px;">'?></td>
                            <td><?php echo $name?></td>
                            <td><?php echo $category?></td>
                        </tr>
                    <?php } ?>
                        </tbody>                    
</table>    
</div>

此表显示了上面所选类别中的产品

<script>
    $("#navDashboard").addClass('active'); 
    $("#myTable").DataTable();
</script>

这是负责DATATABLE和活动NAVBAR的脚本

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-12 03:27:46

一般来说,我所做的是使用ajax。给你的表单一个id。例如,在提交按钮后进行en ajax调用

    $(document).on('submit', '#show_table', function () {
        event.preventDefault();
        var formData = new FormData($(this)[0]);

        $.ajax({
            type: 'POST',
            url: 'your_file.php',
            data: formData,
            async: false,
            cache: false,
            contentType: false,
            processData: false,
            success: (
                function (formData) {
                    $(".result").html(formData)
                }
            )
        });
    });

在URL中,传递将进行调用的文件的名称(创建一个新文件)。来自搜索输入的值将传入POST类型,然后运行查询。正如您所看到的,结果将显示在一个带有result类的div中。因此,在搜索页面中创建一个div

表格就会出现在那里。页面将不会基于event.preventDefault()进行刷新;希望这对您有任何帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56550052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档