Maison >développement back-end >tutoriel php >javascript - web页面实现数据筛选、排序等功能的思路

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

WBOY
WBOYoriginal
2016-06-06 20:18:452379parcourir

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

我能想到的思路是:

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

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

问:

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

回复内容:

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

我能想到的思路是:

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

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

问:

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

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

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

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

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

如果结果集在千行以内。推荐 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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn