php条形码-在单个页面中显示多个条形码

php条形码-在单个页面中显示多个条形码,php,while-loop,barcode,Php,While Loop,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);

我创建了一个打印条形码的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个条形码。提前感谢

尝试使用其他条形码源。因为每个页面只生成一个条形码。无法在每页创建多个条形码

我知道这是一篇比较老的帖子,但是在搜索中出现了,所以可能值得回复

我已成功使用条形码39显示多个条形码。诀窍是从类中获取base64数据,然后在单独的HTML标记中显示条形码

最快的方法是向draw()方法添加$base64参数:

然后,在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>');
//假设其他一切都已设置好,请以此结束。。。
$base64=$barcode->draw(“”,true);//注意,第二个参数是为base64设置的
$html='';
对于($i=0;$i<$numBarcodes;$i++){
$html.='';
}
死亡('.$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>');