ОШИБКА ПРИНТЕРА PHP

Добрый день всем, пожалуйста, помогите мне решить этот код. Я хочу напечатать все значение массива на принтере php, но отображается только 1. Я использую фреймворк php codeigniter 3. Заранее спасибо.

введите описание изображения здесь Результат: Кол-во Описание 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); 

2 ответа

Решение

Вы хотите объединить $content.

+ Изменить

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

к

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

Вы перезаписываете значение $content до foreach() цикл заканчивается, поэтому пока отображается только последнее значение, присвоенное $content внутри foreach() петля.

В основном вы можете сделать две вещи.

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";
  }

Я надеюсь, что это поможет вам.

Другие вопросы по тегам