0

此代码创建条形码图像并用条形码回显项目名称,但我想用单价回显项目名称我该怎么做请帮我解决这个问题谢谢

我在这段代码之后编辑

$text = $item['name'];

像这样

$text = $item['name'];

$text2 = $item['unit_price'];

但它不工作任何人都可以告诉我是什么问题以及我该如何解决它

这是我的 php 条形码脚本

<head>
        <title><?php echo $this->lang->line('items_generate_barcodes'); ?></title>
    </head>
    <body>
    <table width='50%' align='center' cellpadding='20'>
    <tr>
    <?php 
    $count = 0;
    foreach($items as $item)
    {
        $barcode = $item['id'];

        $text = $item['name'];

        if ($count % 2 ==0 and $count!=0)
        {
            echo '</tr><tr>';
        }
        echo "<td><img src='".site_url()."/barcode?barcode=$barcode&text=$text&$text&width=256' /></td>";
        $count++;
    }
    ?>
    </tr>
    </table>
    </body>
    </html>

这是mysql结构

name            varchar(255)     latin1_swedish_ci          No                                   
category    varchar(255)    latin1_swedish_ci       No                                   
supplier_id int(11)         Yes NULL                                
item_number varchar(255)    latin1_swedish_ci       Yes NULL                                 
description varchar(255)    latin1_swedish_ci       No                                   
cost_price  double(15,2)            No                                  
unit_price  double(15,2)            No                                  
quantity    double(15,2)            No  0.00                                
reorder_level   double(15,2)            No  0.00                                
location    varchar(255)    latin1_swedish_ci       No                                   
item_id int(10)         No      auto_increment                          
allow_alt_description   tinyint(1)          No                                  
is_serialized   tinyint(1)          No                                  
deleted int(1)          No  0                               
expire

这是我的mysql条码功能

function generate_barcodes($item_ids)
{
    $result = array();

    $item_ids = explode(':', $item_ids);
    foreach ($item_ids as $item_id)
    {
        $item_info = $this->Item->get_info($item_id);

        $result[] = array('name' =>$item_info->name, 'id'=> $item_id);
    }

    $data['items'] = $result;
    $this->load->view("barcode_sheet", $data);
}
4

2 回答 2

0

首先,您需要从数据库中获得unit_price可用的$item阵列。

在您的foreach循环中,将此行替换$text = $item['name'];为:

$text = $item['name'] . ' $' . number_format($item['unit_price'], 2);

这是代码的外观:

<head>
        <title><?php echo $this->lang->line('items_generate_barcodes'); ?></title>
    </head>
    <body>
    <table width='50%' align='center' cellpadding='20'>
    <tr>
    <?php 
    $count = 0;
    foreach($items as $item)
    {
        $barcode = $item['id'];

        $text = $item['name'] . ' $' . number_format($item['unit_price'], 2);

        if ($count % 2 ==0 and $count!=0)
        {
            echo '</tr><tr>';
        }
        echo "<td><img src='".site_url()."/barcode?barcode=$barcode&text=$text&$text&width=256' /></td>";
        $count++;
    }
    ?>
    </tr>
    </table>
    </body>
    </html>
于 2013-06-08T13:19:30.067 回答
0

我有强烈的感觉,您的 SELECT 语句缺少 unit_price 列。请向我们展示填充您的 $items 数组的 SELECT 语句。

于 2013-06-08T13:32:32.393 回答