我正在尝试使用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>';
}
}}
但这给了我错误“试图获得非对象的属性”。我没有得到任何线索。为什么?请帮忙。
答案 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
元素的语法。