为了账号安全,请及时绑定邮箱和手机立即绑定

php读数据库有3000条记录,我直接用table打印出来却总是有几百个?

php读数据库有3000条记录,我直接用table打印出来却总是有几百个?

PHP
DIEA 2019-03-15 05:24:25
public function order_outexcel(){ header("Content-type: text/html; charset=utf-8"); $time=IReq::get('outage'); $or=new IModel('order'); $orlist=$or->query("if_del=0 and create_time like '%".$time."%'"); echo "<html><body>"; echo count($orlist); echo "<table border='1'>"; echo "<tr> <td>序列</td> <td>订单编号</td> <td>日期</td> <td>用户名</td> <td>收货人</td> <td>电话</td> <td>收货地址</td> <td>订单金额</td> <td>支付方式</td> <td>支付交易号</td> <td>支付状态</td> <td>快递公司</td> <td>快递单号</td> <td>发货状态</td> <td>商品信息</td> </tr>"; $user=new IModel('user'); foreach($orlist as $k=>$v){ if($v['province']==''){ $address = $v['province_title'].$v['city_title'].$v['area_title'].$v['address']; }else{ $address = join('&nbsp;',area::name($v['province'],$v['city'],$v['area'])).$v['address']; } $us=$user->getObj('id='.$v['user_id'],'username'); echo "<tr>"; echo "<td>".$k."</td>"; echo "<td>".$v['order_no']."</td>"; echo "<td>".$v['create_time']."</td>"; echo "<td>".$us['username']."</td>"; echo "<td>".$v['accept_name']."</td>"; echo "<td>".$v['mobile']."</td>"; echo "<td>".$address."</td>"; echo "<td>".$v['order_amount']."</td>"; echo "<td>".$v['order_amount']."</td>"; echo "<td>".$v['trade_no']."</td>"; echo "<td>".Order_Class::getOrderPayStatusText($v)."</td>"; echo "<td></td>"; echo "<td></td>"; echo "<td></td>"; echo "<td></td>"; echo "</tr>"; } echo "</table>"; echo "</body></html>"; } 我访问了一个mysql数据库表,通过条件查询符合条件的记录有3000条记录,我循环打印出来,总是几百条,死活不能全部显示出来。有人遇到过吗? 上面的3576是count($orlist)的结果,也就是说读到的数据是完整的,但打印没打印完整,而且如果我把打印的字段数减少也可以打印全。 首先肯定不是php时间超时的问题,因为结果出来很快。
查看完整描述

3 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

[更新]

我把打印的字段数减少也可以打印全。 我看你增加了这个测试,这就验证了我的猜想。

字段减少能够打印全,我怀疑是你在上面处理address的时候拼接什么的有问题,造成了html被吞掉了。

你把for循环里面的处理干掉,再试试能够完全打印,如果可以的话,单独输出上面的一些处理。看看是否有什么特殊标记还是什么的。


这样子没看出什么问题,你有试过下面两种吗?

  1. 不用 html 标签,直接输出其中的 $k以及一个$v的内容

  2. 只输出一个 html 标签包裹的内容 如 <tr><td>$k</td></tr>

看一下上面两种方式分别输出什么,能否完整输出。

查看完整回答
反对 回复 2019-03-18
?
跃然一笑

TA贡献1826条经验 获得超6个赞

代码贴全呀, $orlist 这个变量怎么拿到的 ? 

查看完整回答
反对 回复 2019-03-18
?
米脂

TA贡献1836条经验 获得超3个赞

直接 echo count($orlist); 先看看数量对不对吧
然后可以把 sql 运行一下

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 608 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信