订单小票打印模板
2016-06-08 09:29
399 查看
<?php /** *打印小票模板 */ $usr=!empty($_GET['usr'])?$_GET['usr']:'355841020848592'; $ord=!empty($_GET['ord'])?$_GET['ord']:'no'; $sgn=!empty($_GET['sgn'])?$_GET['sgn']:'no'; // if(isset($_GET['sta'])){ // $id=intval($_GPC['id']); // $sta=intval($_GPC['sta']); // pdo_update('shopping3_order',array('print_sta'=>$sta),array('id'=>$id)); // exit; // } // echo $usr."---".$ord."---".$sgn; //链接数据库 class danli{ public $db; protected static $ins=null; protected function __construct(){ $servername = "localhost"; $username = "root"; $password = "111111"; try { $this->db = new PDO("mysql:host=$servername;dbname=kuaijiezhou", $username, $password); $this->db->exec("SET NAMES 'utf8';"); //echo "Connected successfully"; } catch(PDOException $e) { echo $e->getMessage(); } } public static function getins(){ if(self::$ins ==null){ self::$ins = new self(); } return self::$ins; } } $conn = danli::getins()->db; $url_shebei = "SELECT id,printer from my_shipingaddress where printer like "."'"."%".$usr."%"."'"; $res_shebei = $conn->query($url_shebei)->fetch(PDO::FETCH_ASSOC); if(!$res_shebei){ die; } //设备序列号 $prit = explode(',', $res_shebei['printer']); //配送中心id $center = " and center=".$res_shebei['id']; switch ($usr) { case $prit[0]: $dayin_num = " and isdayin not like "."'"."%1%"."'"; $num = 1; break; case $prit[1]: $dayin_num = " and isdayin not like "."'"."%2%"."'"; $num = 2; break; case $prit[2]: $dayin_num = " and isdayin not like "."'"."%3%"."'"; $num = 3; break; case $prit[3]: $dayin_num = " and isdayin not like "."'"."%4%"."'"; $num = 4; break; case $prit[4]: $dayin_num = " and isdayin not like "."'"."%5%"."'"; $num = 5; break; case $prit[5]: $dayin_num = " and isdayin not like "."'"."%6%"."'"; $num = 6; break; default: exit; } // echo $dayin_num."<br>"; // echo $center."<br>"; // echo $num."<br>"; $url = "SELECT id,breakfast,lunch,personal,isdayin FROM my_order where ((breakfast=34 or lunch=34 or personal=34) or (breakfast=35 or lunch=35 or personal=35))$dayin_num$center and ispay=1 order by id desc";//订单状态已接单 支付状态已支付 订单状态未打印 $res = $conn->query($url)->fetch(PDO::FETCH_ASSOC); if($res['id']){ $orderid = $res['id']; $isdayin = $res['isdayin'].$num; $v=''; if($res['breakfast'] ==34){ $v .= ",breakfast=35"; } if($res['lunch'] ==34){ $v .= ",lunch=35"; } if($res['personal'] ==34){ $v .= ",personal=35"; } $v .= ",status=35"; $sqlup = "UPDATE my_order SET isdayin=$isdayin$v WHERE id=".$res['id']; $count = $conn->exec($sqlup); } else { echo 'wu ding dan'; exit; } //查询订单 $url1 = "SELECT * FROM my_order where id = $orderid"; $res_order = $conn->query($url1)->fetch(PDO::FETCH_ASSOC); //订单配送时间 $url2 = "SELECT * FROM my_ordersendtime where orderid = $orderid"; $res_order_sendtime = $conn->query($url2)->fetch(PDO::FETCH_ASSOC); //订单详情 $url3 = "SELECT * FROM my_orderdetail where orderid = "."'".$res_order['orderid']."'"; $res_order_detail = $conn->query($url3)->fetchAll(PDO::FETCH_ASSOC); $b = array(); $l = array(); $p = array(); foreach ($res_order_detail as $k => $v) { if($v['cai_type']==53){ $b[] = $v; } if($v['cai_type']==54){ $l[] = $v; } if($v['cai_type']==68){ $p[] = $v; } } $detail = array_merge(array('b'=>$b),array('l'=>$l),array('p'=>$p)); // var_dump($res_order); //var_dump($res_order_sendtime); //var_dump($detail); foreach ($detail as $kk => $vv) { if(!empty($set['print_top'])){ $content="%10".$set['print_top']."\n</br>"; }else{ $content='</br>---快节奏---'; } $content.='</br>%00单号:'.$res_order['orderid']."\n</br>"; //$content.='总数:'.$res_order['totalnum'].' 总价:'.$res_order['totalprice']."\n</br>"; ///$content.='配送方式:'.$express[$res_order['sendtype']]['express_name']."\n</br>"; $content.='下单日期:'.$res_order['createtime']."\n</br>"; if($kk == 'b'){ $content.='预约时间:'.$res_order_sendtime['breakfast']; $content.='\n</br>预约类型:早餐'; if($res_order['bprize']){ $bb = explode(',', $res_order['bprize']); $url4 = "SELECT title FROM my_userprize where id = "."'".$bb[0]."'"; $title = $conn->query($url4)->fetch(PDO::FETCH_ASSOC); $content.='\n</br>赠送:'.$title['title']; } }elseif ($kk == 'l') { $content.='预约时间:'.$res_order_sendtime['lunch']; $content.='\n</br>预约类型:午餐'; if($res_order['lprize']){ $bb = explode(',', $res_order['lprize']); $url4 = "SELECT title FROM my_userprize where id = "."'".$bb[0]."'"; $title = $conn->query($url4)->fetch(PDO::FETCH_ASSOC); $content.='\n</br>赠送:'.$title['title']; } } elseif ($kk == 'p') { $content.='预约时间:'.$res_order_sendtime['person']; $content.='\n</br>预约类型:私人订制'; if($res_order['pprize']){ $bb = explode(',', $res_order['pprize']); $url4 = "SELECT title FROM my_userprize where id = "."'".$bb[0]."'"; $title = $conn->query($url4)->fetch(PDO::FETCH_ASSOC); $content.='\n</br>赠送:'.$title['title']; } } if(!empty($res_order['user_note'])){ $content.='</br>备注:'.$res_order['user_note']."\n</br>"; } $content.="%00\n</br>名称 数量 单价 \n</br>"; $content.="----------------------------\n</br>"; $content=iconv("UTF-8","GB2312//IGNORE",$content); $content1 = ''; $bpt = 0; foreach($vv as $v){ //$content1.=$this->_formatstr($v['title'],16).$this->_formatstr($goodsid[$v['id']]['total'],4,false).$this->_formatstr(number_format($v['marketprice'],1),7,false)."\n</br>"; $content1.=$v['cai_title']." ".$v['cai_num']." ".$v['cai_price']."\n</br>"; $bpt += $v['cai_price']; } $content2="----------------------------\n</br>"; $content2.="%10总数量:".count($vv)." 总价:".number_format($bpt,1)."元\n</br>%00"; unset($bpt); if(!empty($res_order['truename'])){ $content2.='姓名:'.$res_order['truename']."\n</br>"; } if(!empty($res_order['mobile'])){ $content2.='手机:'.$res_order['mobile']."\n</br>"; } if(!empty($res_order['address'])){ $content2.='地址:'.$res_order['address']."\n</br>"; } if(!empty($res_order['desk'])){ $content2.='桌号:'.$res_order['desk']."\n</br>"; } if(!empty($set['print_bottom'])){ $content2.="%10".$set['print_bottom']."\n</br>%00"; } $content2=iconv("UTF-8","GB2312//IGNORE",$content2); $setting='<setting>124:'.''.'|134:0</setting>'; $setting=iconv("UTF-8","GB2312//IGNORE",$setting); $content1 = iconv("UTF-8","GB2312//IGNORE",$content1); if($content1 == ''){ unset($content); unset($content2); //unset($setting); } else { /** echo '<?xml version="1.0" encoding="GBK"?><r><id>'.$res_order['id'].'</id><time>'.$res_order['createtime'].'</time><content>'.$content.$content1.$content2.'</content>'.$setting.'</r>';**/ $data[] = $content; $data[] = $content1; $data[] = $content2; } unset($content1); echo "</br></br></br>"; } //var_dump($data); echo '<?xml version="1.0" encoding="GBK"?><r><id>'.$res_order['id'].'</id><time>'.$res_order['createtime'].'</time><content>'. ($data[0]?$data[0]:'').($data[1]?$data[1]:'').($data[2]?$data[2]:'').(isset($data[3])?$data[3]:''). (isset($data[4])?$data[4]:'').(isset($data[5])?$data[5]:'').(isset($data[6])?$data[6]:'').(isset($data[7])?$data[7]:'').(isset($data[8])?$data[8]:'') .'</content>'.$setting.'</r>';
相关文章推荐
- 完全指南:在 Linux 中如何打印和管理打印机
- 基于Silverlight打印的使用详解,是否为微软的Bug问题
- C#基本打印事件用法实例
- IE中用VBScript不提示直接打印的代码
- JS调用打印方法设置页眉页脚的实例
- js console.log打印对像与数组用法详解
- jQuery插件jquery-barcode实现条码打印的方法
- jQuery控制网页打印指定区域的方法
- 关于ASP.NET页面打印技术的常用方法总结
- ASP.NET 水晶报表打印功能实现代码
- JS 打印界面的CSS居中代码适用所有浏览器
- JS应用之禁止抓屏、复制、打印
- javascript打印大全(打印页面设置/打印预览代码)
- Java打印和打印预览机制实例代码
- Web打印解决方案之证件套打的实现思路
- JavaScript 实现打印,打印预览,打印设置
- JS遍历数组及打印数组实例分析
- asp.net css控制打印功能方法实例
- ASP.NET网页打印(只打印相关内容/自写功能)
- C#实现打印与打印预览功能的思路及代码