【发布时间】:2015-04-01 01:04:01
【问题描述】:
这是我从数据库中获取产品详细信息的代码..
$i=0;
foreach($res->result() as $row ){
$products=json_decode($row->product_name,1);
//var_dump($products);
/*$sess_products[$i]['product_id'] = $row->product_id;
$sess_products[$i]['product_name'] = $row->product_name;
$sess_products[$i]['quantity'] = $row->quantity;
$sess_products[$i]['unit'] = $row->unit;
$sess_products[$i]['unit_rate'] = $row->unit_rate;
$this->session->set_userdata('sess_products',$sess_products);*/
//$post_array['cart']=$this->session->userdata('sess_products');
echo "<tr>";
echo "<td><input type='hidden' style='width:80%;' value='".$products[$i]['product_id']."' name='product_id[]'/></td>";
echo "<td><input type='hidden' style='width:80%;' value='".$products[$i]['product_name']."' name='product_name[]'/></td>";
echo "</tr>";
echo "<tr>";
echo "<td style='width:40%;'>".$products[$i]['product_name']."</td>";
echo "<td><input type='text' class='quantity' style='width:100%;' value='".$products[$i]['quantity']."' name='quantity[]'/></td>";
echo "<td><input type='text' class='quantity' style='width:100%;' value='".$products[$i]['unit']."' name='unit[]'/></td>";
echo "<td><input type='text' class='quantity' style='width:100%;' value='".$products[$i]['unit_rate']."' name='unit_rate[]'/></td>";
echo "<td><a href='javascript:void(0)' rownum='".$i."' class='remove_from_update_cart'><img src='images/close.png'/></a></td>";
echo "</tr>";
$i++;
}
现在我可以通过解码来显示 json 字符串中的第一项。但我想在 foreach 循环中显示整个记录。?那么会出现什么错误呢??
以上代码仅显示该数组中的第一条记录。
【问题讨论】:
-
为什么你在
foreach循环内做$products=json_decode($product);?您是否在循环之外尝试过? -
如果你想要数组,为什么不使用
$res->result_array();Documentation here -
$row代表 JSON 还是$row->product_name?$row->product_name看起来更像是名称的字符串列,而不是整个产品详细信息。 -
给我们
$product的确切var_dump。 -
问题好像是code ignitor,你用的是哪个版本的?
标签: php json codeigniter