说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

大家过来看看这个----请问如何实现批量查询的方法?~~

编辑:说三道四文库 发布时间:2018-07-23 04:07
HTML文档下载 WORD文档下载 PDF文档下载
我现在用PHP写一个查询,后端数据库为oracle,原来是这样的,非常简单的查询页面,如打入报关单号提交后就会以表单形式把数据显示出来,但客户想输入一次报关单号提交一次才能看到一个表单,如果想看到更多的报关单表单一次次输入再提交,显然太烦锁,因此提出这样一个设想,一次输入更多的报关单号,提交后最后以多页的形式来显示表单数据,如一次输入20个报单号后提交,最后查询到的页面表单,默认为第一个报关单号的表单,第二页的链接为第二个报关单号的查询表单,依次类推....第二十页的链接为第二十个报关单号的查询表单!!请问如何实现这样的功能呢,谢谢大家~~~
楼主可以把提交上来的多个值放在数组中,然后注册到session里,再根据数组的键值来进行分页,直到最后一个元素就可以了。
首先假设用户输入的报单号格式是:
$str = '1,2,3,4,5,6';
,那么在php第一步需要做的就是检查用户的输入是否正确,然后就是拼凑SQL啦,可以这样.

"select .. from YourTable where ForumID in (".$str.")";
这应该是一个循环的啊.你提交的东西做成二十个单号,20个查询.
当然这是最简单的方式.还有一种就是:
如果你的表单得到的号码是:11111,11112,11113,11114,11115这样的.
你就可以:
select * from table where `ID` in(11111,11112,11113,11114,11115)
就可以一次得到.
晕啊,比楼上的晚一秒提交.
是一分,不是一秒~~~~~~~~~~~~
我得到查询数据又怎么办呢,因为我最后得到分页显示的表单数据.又没有更好的办法,最好是有人有人做过这样的功能过!!再次非常感谢大家关注此贴!
实际上就楼主的表述来看,查询的东西并没有改变,只不过是需要帮用户记住他一次性输入的多个id而已。既然如此,完全可以用cookie或者session保存id列表,每一个分页传入数字,根据数字去取出第N个id来做单一查询即可。
按IN(xxx,xxx,xxx,xxx)  的条件得到记录后。再做分页呗。一条记录/页。
kingerq(多菜鸟)  方法最好。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘