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>支付狀態(tài)</td>
<td>快遞公司</td>
<td>快遞單號</td>
<td>發(fā)貨狀態(tài)</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(' ',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數(shù)據(jù)庫表,通過條件查詢符合條件的記錄有3000條記錄,我循環(huán)打印出來,總是幾百條,死活不能全部顯示出來。有人遇到過嗎?
上面的3576是count($orlist)的結(jié)果,也就是說讀到的數(shù)據(jù)是完整的,但打印沒打印完整,而且如果我把打印的字段數(shù)減少也可以打印全。
首先肯定不是php時間超時的問題,因為結(jié)果出來很快。
3 回答

慕尼黑8549860
TA貢獻1818條經(jīng)驗 獲得超11個贊
[更新]
我把打印的字段數(shù)減少也可以打印全。
我看你增加了這個測試,這就驗證了我的猜想。
字段減少能夠打印全,我懷疑是你在上面處理address
的時候拼接什么的有問題,造成了html被吞掉了。
你把for循環(huán)里面的處理干掉,再試試能夠完全打印,如果可以的話,單獨輸出上面的一些處理??纯词欠裼惺裁刺厥鈽擞涍€是什么的。
這樣子沒看出什么問題,你有試過下面兩種嗎?
不用 html 標簽,直接輸出其中的 $k以及一個$v的內(nèi)容
只輸出一個 html 標簽包裹的內(nèi)容 如
<tr><td>$k</td></tr>
看一下上面兩種方式分別輸出什么,能否完整輸出。
- 3 回答
- 0 關(guān)注
- 627 瀏覽
添加回答
舉報
0/150
提交
取消