我在购物车上工作,我在会话中存储了car_id
,price
和add on
个项目。我设法存储在会话中但是怎么做我根据id正确检索它们?
这里是存储在会话中的代码:
$_SESSION['items'][$price]=array('total'=>$car_id,'add_on'=>$add_on);
这就是我检索它们的方法。我可以合理地显示ID和价格而不是插件。因为一个id可以有多个添加项目,我如何以相同的方式存储和检索?
<table>
<tr><th>price</th><th>Car id</th><th>Extras</th></tr>
<?php
foreach($_SESSION['items'] as $total=>$id)
{
?>
<tr>
<td width="100"><?php echo 'RM '.$total;?></td>
<?php
foreach($id as $ids)
{
?>
<td width="100"><?php echo $ids;?></td>
<td width="100"><?php if(isset($add_on)){ echo $add_on;} ?></td>
</tr>
<?php
}
}
?>
</table>
编辑部分**
如何访问数组中的数组?
我得到了上述质疑的回答。现在我试图访问存储在数组内的多个插件值。
看起来像这样:
$ _ SESSION [&#39;项目&#39;] [$价格] =阵列(&#39;总&#39; =&GT; $ car_id,阵列(&#39; ADD_ON&#39; =&GT; $ ADD_ON,&#39; DEP&#39; = GT; $ DEP));
被修改 如何通过url传递变量值数组
if(isset($_POST['addon']))
{
if(isset($_POST['add_item']))
{
foreach($_POST['add_item'] as $item)
{
$item.'<br/>';
mysql_select_db($database);
$query_item="SELECT * FROM tbl_addons WHERE addOns_id='$item'";
$result_item=mysql_query($query_item);
while($row_item=mysql_fetch_array($result_item))
{
$dep=$row_item['Deposit'];
$ppd=$row_item['PricePerDay'];
echo $dep.'<br/>';
echo $ppd.'<br/>';
}
}
答案 0 :(得分:3)
试试这个
<table>
<tr><th>price</th><th>Car id</th><th>Extras</th></tr>
<?php
foreach($_SESSION['items'] as $total=>$id)
{
?>
<tr>
<td width="100"><?php echo 'RM '.$total;?></td>
<td width="100"><?php echo $id['total'];?></td>
<td width="100"><?php if(isset($id['add_on'])){ echo $id['add_on'];} ?></td>
</tr>
<?php
}
?>
</table>
您不需要第二个循环来获取值
希望这是您希望存储add_on
值
$_SESSION['items'][$price]= array('total'=>$car_id,
'add_on' => array( 'Add_on1' => array('deposite' => '20%', 'price' => 125),
'Add_on2' =>array( 'deposite' => '15%', 'price' => 234),
'Add_on3' =>array( 'deposite' => '5%', 'price' => 54))
);
使用此方法检索值
<td width="100"><?php if(isset($id['add_on'])){
foreach($id['add_on'] as $key => $value){
echo $key. ' ; Deposite - '.$value['deposite'] .' ; Price : '.$value['price'] ;
echo '<br>';
}
} ?></td>