使用codeigniter从数据库中检索数据

时间:2013-03-08 11:51:58

标签: php codeigniter

我正在尝试使用CodeIgniter从数据库中检索数据。查询工作正常,并将数据检索到一个数组中,该数组可以显示print_array()

Array
(
[0] => Array
    (
        [trans_id] => 33
        [CustomerAccountNumber] => BR002
        [TransactionType] => Invoice
        [TransactionDate] => 2012-09-06 00:00:00
        [InvoiceNo] => 00001732262
        [OrderNo] => 0000183946
        [GoodsValueInAccountCurrency] => 1055.26
        [AccountBalance] => 1104.52
        [SYSTraderTranTypeID] => 4
    )

[1] => Array
    (
        [trans_id] => 34
        [CustomerAccountNumber] => BR002
        [TransactionType] => Invoice
        [TransactionDate] => 2012-09-19 00:00:00
        [InvoiceNo] => 00001375022
        [OrderNo] => 0000184907
        [GoodsValueInAccountCurrency] => 49.26
        [AccountBalance] => 1104.52
        [SYSTraderTranTypeID] => 4
    )

但每当我尝试在表格中显示数据以生成pdf时,它会给出一个错误,指出“试图获取非对象的属性”。但是所有对象都进入了一个数组来显示。这是我的代码:

    print_array($data['data']);
      {  foreach ($data['data'] as $key=>$link) 
        {
                {
                $html .= '
                <tr>
                   <td width = "100">'.$link->InvoiceNo.'</td>
                   <td width = "300">'.($link->OrderNo).'</td>
                   <td width = "100">'.($link->TransactionDate).'</td>
                   <td width = "100">'.($link->TransactionType).'</td>
                   <td width = "100">'.($link->GoodsValueInAccountCurrency).'</td>     
                </tr>';
                }



        }}

但这给了我错误“试图获得非对象的属性”。我没有得到任何线索。为什么?请帮忙。

1 个答案:

答案 0 :(得分:1)

您有一个数组,并且您正在尝试访问对象的属性。您应该使用此语法来构建表:

$html .= '
    <tr>
        <td width = "100">'.$link['InvoiceNo'].'</td>
        <td width = "300">'.($link['OrderNo']).'</td>
        <td width = "100">'.($link['TransactionDate']).'</td>
        <td width = "100">'.($link['TransactionType']).'</td>
        <td width = "100">'.($link['GoodsValueInAccountCurrency']).'</td>     
    </tr>';

$link->InvoiceNumber是访问object属性的语法。 $link['InvoiceNumber']是访问array元素的语法。