>백엔드 개발 >PHP 튜토리얼 >PHP中如何制作查询报表

PHP中如何制作查询报表

WBOY
WBOY원래의
2016-06-23 13:34:011187검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.