当前位置: 首页 > 知识库问答 >
问题:

使用PHP在数据表中进行高级搜索

孟英锐
2023-03-14

我使用以下代码创建了一个数据表:-

主要的php-它包含调用数据表的脚本和从sql数据库获取数据的php脚本

<!DOCTYPE html>
<html>
<head>
    <title>Data Table | Server Side | Basic | Zero Level</title>
</head>

<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">

<body>

<table id="example" class="display" style="width:100%">
    <thead>
        <tr>
            <th>Name</th><th>Gender</th><th>Age</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <th>Name</th><th>Gender</th><th>Age</th>
        </tr>
    </tfoot>
</table>

</body>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script type="text/javascript" src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.5.2/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.5.2/js/buttons.flash.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.5.2/js/buttons.html5.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.5.2/js/buttons.print.min.js"></script>

<script type="text/javascript">
    $(document).ready(function() {
        $('#example').DataTable( {
            dom: 'Bfrtip',
            buttons: [
                'copy', 'csv', 'excel', 'pdf', 'print'
            ],
            "bProcessing": true,
            "sAjaxSource": "dtServerSideBasicScript.php",
            "aoColumns": [{
                mData: 'name','gender','age'
            }]
        } );
    } );
</script>

</html>

和dtServerSideBasicScript。php-它是从sql server获取数据的脚本:-

<?php
header('Content-Type: application/json');
$con = mysqli_connect("localhost","root","","work");
$sql = "SELECT name,gender,age from test ";
$r = mysqli_query($con,$sql);
$result = array();
while($row = mysqli_fetch_array($r)){
    array_push($result,array(
        "name"=>$row['name'],"gender"=>$row['gender'],"age"=>$row['age']
    ));
}
echo json_encode(array('data'=>$result));?>

现在,我必须应用数据表上方的Advanced filter部分,它可以是由以下字段组成的表单-姓名输入、年龄范围输入和性别选择输入字段。提交此表格时,相关搜索结果应显示在数据表中。

共有1个答案

云瑞
2023-03-14

让我给你们举个名字搜索的例子,你们也可以对其他搜索字段做同样的操作。

在html搜索字段中添加以下输入标记

<input type="text" name="user_name" id="user_name" />

现在按照下面的步骤更改脚本,

<script type="text/javascript">
 $(document).ready(function() {
                    var table=$('#example').DataTable( {
                        dom: 'Bfrtip',
                        buttons: [
                            'copy', 'csv', 'excel', 'pdf', 'print'
                        ],
                        "bProcessing": true,
                        "ajax": {
                               url: "dtServerSideBasicScript.php",
                               data: function (d) {

                                   d.user_name = function () {

                                     return $("#user_name").val();
                                   };
                               },
                          },

                        "aoColumns": [{
                            mData: 'name','gender','age'
                        }]
                    } );

                 $('#user_name').keyup(function () {
                    table.draw();
                 });
    });
</script>

在服务器端,您将在$\u-get中获取user\u-name参数,如$\u-get['user\u-name']。然后,您可以在sql查询中使用该值。

同样,您可以实现年龄范围和性别选择。

 类似资料:
  • 我在学习PHP,我创建了一个页面来用MySQL显示我的数据表。我想用这些数据进行分页、搜索和排序。 我写了一些条件来搜索和排序。但它不起作用。我的传呼似乎工作得很好。 当我运行它时,它说:警告:mysqli_fetch_array()期望参数1是mysqli_result。你能帮助我吗?非常感谢。

  • 问题内容: 我目前正在尝试完成一个项目,其中的规范是使用搜索表单来搜索包装数据库。该数据库具有许多变量,包括大小,名称,类型和肉类。我需要创建一个搜索表单,用户可以在其中使用多种不同的搜索进行搜索(例如搜索50厘米长的盖子托盘)。 我花了整整一天的时间来尝试创建一些PHP代码,这些代码可以在我创建的测试数据库中搜索信息。我遇到了许多错误,从mysql_fetch_array错误,布尔错误到现在,我

  • 问题内容: 我正在慢慢尝试理解numpy中s和s之间的区别,以及可变与不可变类型之间的区别。 如果我使用“高级索引”访问数组的一部分,则应该返回一个副本。这似乎是真的: 由于仅是副本,因此它不会共享数据,更改它也不会突变。但是,这让我感到困惑: 因此,看来,即使我使用高级索引,分配也仍然会将左侧的内容视为视图。显然,第2行与第6行是相同的对象/数据,因为变异对其没有影响。 所以我的问题是:第8行中

  • 问题内容: 我有一个模式定义为的猫鼬模型- 并且模型定义为- 现在我想从请求对象参数中搜索标题,标签,描述字段,例如 现在,我如何确保也包括任何在标题或描述中找到该术语的结果,而不仅是两个结果都存在。另外,如何在标签数组中搜索匹配的字符串 问题答案: 您可以在猫鼬中使用 $ or 运算符返回匹配项 $ or http://docs.mongodb.org/manual/reference/oper

  • 我正在尝试学习与php composer包的帮助。我有一个,其名称为,其中包含、、、字段。我想有基于以上字段的过滤器,它应该在操作符。我当前的查询代码是: 我的问题是: > 我无法获取数据。但是如果我执行下面的代码: 我在运算符中获取值,但需要在其中包含操作。