【问题标题】:PHP PRINTER EROR [closed]HP打印机错误[关闭]
【发布时间】:2020-10-07 07:08:36
【问题描述】:

大家好,请帮我解决这个代码。我想在 php 打印机中打印一个数组的所有值,但只显示 1 个。我正在使用 php codeigniter 框架 3。提前谢谢你。

enter image description here 输出: 数量说明 1 产品一

$content = "Customer " . $this->uri->segment(2) . "\n"; 
foreach ($orders as $order) { 
    $content = "Qty Description\r" . $order->Quan . " " . 
              " " . " " . $order->Description . "\r"; 
} 
$printer = ("EPSON TM-U220 Receipt"); 
$handler = printer_open($printer); 
if($handler) { 
} 
else { 
    echo "not connected"; 
} 
printer_write($handler, $content); 
printer_close($handler); 

【问题讨论】:

  • edit您的帖子并将您的代码作为文本添加到那里。它使阅读更容易。
  • 您的if($handler) { 代码应包含printer_write() 部分,或者在打印机无法连接时停止。目前它会显示一条消息,然后继续尝试打印。

标签: php mysql codeigniter php-printer


【解决方案1】:

你想连接$content

改变

foreach($orders as $order) {
   $content = ....
}

foreach($orders as $order) {
   $content .= ....   // here-> .= 
}

【讨论】:

  • 2台打印机可以同时打印数据吗?
  • 可以在 2 台打印机上打印数据... 从未尝试过,但我认为您需要 2 个单独的处理程序
  • 使用条件语句对吗?
  • 就像$handler1 = printer_open($printer1);$handler2 = printer_open($printer2)
  • 伙伴你试过用网络连接打印吗?
【解决方案2】:

您将覆盖$content 的值,直到foreach() 循环结束。所以现在它只显示foreach() 循环内分配给$content 的最后一个值。

基本上你可以做两件事。

1.将值分配到数组中。

foreach($orders as $order) {    
$content[] = "Qty Description\r" . $order->Quan . " " . " " . " " . $order->Description . "\r";
}

通过这种方法,您从循环中获取的所有值都将存储在数组中。

2.连接$content中的值

foreach($orders as $order) {
     $content .= "Qty Description\r" . $order->Quan . " " . " " . " " . $order->Description . "\r";
  }

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 2010-09-15
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多