PHP中如何制作查询报表

WBOY
发布: 2016-06-23 13:34:01
原创
1152 人浏览过

数据库: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做做看吧~

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!