php实现页面搜索框查询数据库流程

php实现页面搜索框查询数据库流程

仅供本人学习查阅使用,不误人子弟

前端:index.html页面

 //隐藏域。监控输入的关键词进行传值到后台
 <input type="hidden" name="keyword" value="" id="input-name"/>
 ...
 //搜索框
<input type="text" id="search_key" size="30" class="qsbox" placeholder="名称、价格...">
<input type="submit" class="btn" onclick="ajax_get_table('search-form2',1)" value="搜索">
...
//用来接收搜索后数据显示的区域
 <div id="flexigrid" cellpadding="0" cellspacing="0" border="0">
            </div>

ajax抓取搜索框输入的关键词:

/*注意:抓取页面操作之前,必须要有以下几行代码,这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码.
*/
<script type="text/javascript">
    $(document).ready(function () {
        ajax_get_table('search-form2', 1)});

    //ajax 抓取页面 
    function ajax_get_table(tab, page) {
        //去掉空格,并获取数据
        var search_key=$.trim($('#search_key').val());
        //设置表单字段的值
          $('#input-name').val(search_key);
          //当前页面 保存为全局变量
          cur_page = page; 
        $.ajax({
            type: "POST",
            url: "/index.php/Admin/goods/ajaxindex/p/" + page,//+tab,
            // 你的formid
            data: $('#' + tab).serialize(),
            success: function (data) {
            //flexigrid是成功返回,接收数据显示的区域
                $("#flexigrid").html('');
                $("#flexigrid").append(data);
                // 表格行点击选中切换
                $('#flexigrid > table>tbody >tr').click(function () {
                    $(this).toggleClass('trSelected');
                });
            }
        });
    }
</script>

前端:ajaxindex页面

//分页的位置
{$page}
<script>
    //点击翻页等操作
    $('.pagination a').click(function () {
    //翻页后显示数据
        var data=$(this).data('p');
        ajax_get_table('serach-form2',data);
    })
</script>

后端 admin/goods/ajaxindex 方法来处理

$condction是对表中数据字段查询的条件,可忽略。

public function ajaxIndex()
    {
        //搜索条件
        $key=array();
        //拿到前台隐藏域监控输入的关键字
        $keyword=trim(I('keyword',''));
        if ($keyword){
            //搜索框输入名称和价格的模糊查询
            $key['name|price']=array('like',"%$keyword%");
        }
        $condction['business_id']=0;
        $condction['type']=1;
        //查询符合条件的数据总数
        $count=Db::name('goods')->where($condction)->where($key)->count();
        //将数据进行分页
        $Page=new AjaxPage($count,3);
        //分页显示
        $show=$Page->show();
        
        //页面显示列表
        $list = Db::name('goods')
            ->where($condction)
            ->where($key)
            ->limit($Page->firstRow . ',' . $Page->listRows)
            ->select();
        $this->assign('orderList', $list);
        //前台{$page}就可以确定分页位置,一般位于数据列表下方
        $this->assign('page',$show);
        $this->assign('pager',$Page);
        return $this->fetch();
    }
  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值