2015-10-19 36 views
-2

我的数据库中有一些数字,用换行符分隔。PHP - preg_replace_callback与数组

我有一个函数,它使用jQuery将条形码写成条形码,但我无法使其正常工作。

// This is just to show where the $number variable comes from 
    while ($row=mysqli_fetch_array($result)) { 
      $number=$row['number']; 
} 

// My echo_barcode function 
     function echo_barcode($number) { 
     echo '<span id="'.$number.'"></span> 
     <script type="text/javascript">$("#'.$number.'").barcode("'.$number.'", "code128");</script> 
     <br><br>'; 
          } 

    $barcodes=preg_replace_callback('~[\r\n]+~', 'echo_barcode', $number); 

    echo $barcodes; 

问题是$ number是一个数组,当我使用我的echo_barcode函数时,它只是写入数组而不是数据库中的数字。

+0

你可以做到这一点不使用JavaScript或jQuery的简单解决它。 –

+0

条码部分?也许,我曾经使用过一个生成图像的PHP脚本,但当页面有超过100个条形码时,速度太慢了。 jQuery脚本更快捷。 –

+0

欢迎使用堆栈溢出。我编辑了你的帖子来解决拼写和英文问题。我试图修复代码的缩进,但它似乎缺少一个右大括号。请解决这个问题,以便我们不必假设你在做什么。 –

回答

0

我喝一点点更多的咖啡,并意识到这是因为这

while($row=mysqli_fetch_array($result)) { 
    $number=$row['number']; 
    echo '<span id="'.$number.'"></span><script type="text/javascript">$("#'.$number.'").barcode("'.$number.'", "code128");</script><br><br>'; 
}