欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中如何制作查询报表

程序员文章站 2022-06-12 18:53:32
...
数据库:MSD
表:PURTC、PURTD
PURTC中的字段:


PURTD中的字段:


------------------------------条件区-----------------------------------


----------------------------数据显示区----------------------------------


希望可以给出源码,谢谢


回复讨论(解决方案)

不说别的,就这数据库设计,就没有写代码的欲望

其实这是鼎捷的易飞ERP系统的数据库,我只是列出部分的字段供参考,我只是个菜鸟,不知道什么样的数据库设计才能勾起你写代码的欲望....

楼上的应该期望字段名称至少是英文的。

长见识了:) 

既然是别人的erp系统 楼主还是看看他们的数据表结构吧

他们的表结构我非常了解,但我的问题好像跟表结构没多大的联系

以"单别"作为关联,连表查询就可以了。


这个数据表设计确实有问题,
两个表竟然只有一个numeric类型的字段。
很多列其实都是枚举值。如果值是枚举值的话,不应该直接定义为char或varchar类型。可以用tinyint类型来做个标号,然后再加张表与此表做关联。

这样能保证数据的一致性,而且由于是数值型,作为where条件筛选或关联键,查询速度也会很快。

从设计范式来讲严重不符合,从实际使用角度讲,也没什么好处。不要认为这是xx的系统,他们的代码就一定好。尤其是国内的程序代码。

以"单别"作为关联,连表查询就可以了。


这个数据表设计确实有问题,
两个表竟然只有一个numeric类型的字段。
很多列其实都是枚举值。如果值是枚举值的话,不应该直接定义为char或varchar类型。可以用tinyint类型来做个标号,然后再加张表与此表做关联。

这样能保证数据的一致性,而且由于是数值型,作为where条件筛选或关联键,查询速度也会很……



谢谢您的分析,能否根据我的问题给出详细的代码,我真正想要的是:当点击条件区的 查询按钮 时,怎么才能让它根据我填入的条件进行查询?

引用 7 楼 ShadowSniper 的回复:以"单别"作为关联,连表查询就可以了。


这个数据表设计确实有问题,
两个表竟然只有一个numeric类型的字段。
很多列其实都是枚举值。如果值是枚举值的话,不应该直接定义为char或varchar类型。可以用tinyint类型来做个标号,然后再加张表与此表做关联。

这样能保证数据的一致性,而且由于是数值型……

楼主到底想要报表类还是要查询???

是的,需求功能是怎么样呀


通过这里设置的条件进行查询,得到结果数据并分页

查询无非就是 连接 where 子语句
单个 select * from user where userid=?
多个 select * from user where userid=? && username=?
复杂点的就多表查询 原理也是一样的
你能够从数据库中获取到你想要数据,接下来你爱怎么显示,爱怎么处理就随你了。包括分页处理。

不就是个动态生成查询条件的问题吗?

基础查询指令:
select * from PURTC, PURTD where tc001=td001 and tc002=td002
根据输出要求自行调整

设表单为post方式的,表单对象与字段同名,提交按钮不命名
生成代码
$s = '';
foreach($_POST as $k=>$v) {
if(! empty($v)) $s .= " and $k='$v'";
}
将 $s 附加在基础指令之后,查询、显示
请自行加入合法性验证代码

楼上的都说了~~结贴吧

可我还是不会啊,能否把全部代码贴上来呀?

随便灌灌水, 下载要积分呀

感觉finereport的查询功能不用编码就能实现的,你这个需求建议还是最好用finereport做做看吧~