while loop — php barcode — отображать несколько штрих-кодов на одной странице

Я создал страницу php, которая печатает штрих-код. Просто чтобы посмотреть, прежде чем я распечатал на A4. Все еще в стадии тестирования. Коды указаны ниже.

<?php
include('include/conn.php');
include('include/Barcode39.php');
$sql="select * from barcode where b_status = 'NOT-PRINTED'";
$result=mysqli_query($conn,$sql);
echo mysqli_num_rows($result);

$i=0;

while($row=mysqli_fetch_assoc($result)){
$acc_no = $row["b_acc_no_code"];
$bc = new Barcode39($row["b_acc_no_code"]);
echo $bc->draw();
$bc->draw($acc_no.$i.".jpg");
echo '<br /><br />';
$i++;
}
?>

Без цикла while можно напечатать только один штрих-код. Как заставить его генерировать, например, в базе данных есть 5 значений, он будет печатать 5 штрих-кодов на той же странице. заранее спасибо

1

Решение

Попробуйте использовать другой источник штрих-кода. Потому что он генерирует только один штрих-код на страницу. Невозможно создать несколько штрих-кодов для каждой страницы.

0

Другие решения

Я знаю, что это старый пост, но он встречается в поиске, поэтому, вероятно, стоит ответить на него.

Я успешно использовал Barcode39 для отображения нескольких штрих-кодов. Хитрость заключается в том, чтобы получить данные base64 из класса, а затем отобразить штрих-коды в отдельных тегах HTML.

Самый быстрый способ сделать это — добавить параметр $ base64 в метод draw ():

   public function draw($filename = null, $base64 = false) {

Затем, ближе к концу метода draw (), измените, чтобы буферизовать вызов imagegif () и вернуть выходные данные в base64:

// check if writing image
if ($filename) {
imagegif($img, $filename);
}
// NEW: Return base 64 for the barcode image
else if ($base64) {
ob_start();
imagegif($img);
$image_data = ob_get_clean();

imagedestroy($img);
return base64_encode($image_data);
}
// display image
else {
header("Content-type: image/gif");
imagegif($img);
}

Наконец, чтобы отобразить кратные значения из вызывающей процедуры, создайте HTML-код изображения в цикле и отобразите:

// assuming everything else has been set up, end with this...
$base64 = $barcode->draw('', true);     // Note the second param is set for base64
$html = '';
for ($i = 0; $i < $numBarcodes; $i++) {
$html .= '<img src="data:image/gif;base64,'.$base64.'">';
}
die('<html><body>' . $html . '</body></html>');

Я надеюсь, что это поможет всем, кто столкнулся с этой проблемой.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector