search

Home  >  Q&A  >  body text

javascript - web页面实现数据筛选、排序等功能的思路

后端从数据库读取了一个结果集,保存在数组中,然后显示在前端表格中,但是需要根据用户的筛选、排序等操作对表格进行动态展示。

我能想到的思路是:

1:在后端从数据库读取的数据传递到javascript数组中,用javascript根据用户的选择操作数组(在前端操作数据)
2:在html中嵌入php代码,用php操作数组(在后端操作数据)
3:根据用户的选择每次在数据库中操作并读取所需要的数据,返回到前端页面(在数据库中操作数据)

所操作的数据不超过1000条记录
我后端语言PHP(thinkphp框架)

问:

1:希望前辈们能分析一下各个解决方法的优缺点,给一个最合适的思路!
2:如果用js,怎么将数据传递到js中?

PHP中文网PHP中文网2836 days ago687

reply all(2)I'll reply

  • 迷茫

    迷茫2017-04-10 17:04:50

    第一种方案:
    适合数据量小,页面响应快的场景
    优点:
    1、只需要从服务器获取一次数据,对服务器压力小
    2、用户所有操作都在前端进行,无需再与服务器通讯,体验比较好
    缺点:
    1、js操作数据然后再拼接html,或者模板引擎,或者MVVM相对来说会比后端直接生成html要麻烦一些,不过现在这个应该不算缺点吧

    第二种方案:
    第二种方案也适合数据量小点的场景,它和第一种方案的区别在于:
    1、用户每次都要从服务器通讯
    2、生成html相对开发者来说比较方便
    两种方案相比,建议采用第一种

    第三种方案:
    适合数据量比较大的时候,分批从数据库获取。
    最终在前台展示也无非就是php生成html或者js生成html

    数据传递到js,两种方式:
    1、页面生成时,顺便把数据给传进去
    2、通过ajax去调用

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 17:04:50

    如果结果集在千行以内。推荐 https://github.com/Mottie/tablesorter

    1. 简单排序的例子:http://mottie.github.io/tablesorter/

    2. 简单筛选的例子:http://mottie.github.io/tablesorter/docs/example-child-rows-filtered.html

    3. 全部的例子:http://mottie.github.io/tablesorter/docs/index.html#Demo

    reply
    0
  • Cancelreply