【问题标题】:How to store multiple value inside array and show them如何在数组中存储多个值并显示它们
【发布时间】:2014-07-25 06:34:47
【问题描述】:

我正在处理购物车,我在会话中存储 car_idpriceadd on 项目。我设法存储在会话中,但如何根据 id 正确检索它们?

这是存储在会话中的代码:

$_SESSION['items'][$price]=array('total'=>$car_id,'add_on'=>$add_on);

这就是我检索它们的方式。我可以显示 id 和 price accodingly 但不能显示 addon ..由于一个 id 可以有多个 add on 项目,我如何以相同的方式相应地存储和检索?

<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['items'][$price]=array('total'=>$car_id,array('add_on'=>$add_on,'dep'=>$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/>';
        }
    }

【问题讨论】:

  • 显示tbl_addons的结构和样本数据。 addOns_id 是唯一的吗?

标签: php


【解决方案1】:

试试这个

<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>

【讨论】:

  • @ASR 非常感谢..它起作用了..你能告诉我如何获得每个插件的押金和价格吗?
  • 我很头疼通过 url 传递插件数组值,然后存储在会话中,稍后检索它们。你能帮我吗?我需要紧急帮助。
  • 您可以使用 http_build_query() 来执行此操作 - php.net/http_build_query 您可能会发现此答案很有帮助 stackoverflow.com/questions/7206978/…
  • ,谢谢它确实很有帮助。但是对于我现在的情况,我束手无策,完全不知道如何解决它。如果您不介意,我可以将代码粘贴在这里,您能帮忙解决一下吗?我现在需要在一个小时内完成它......
猜你喜欢
  • 1970-01-01
  • 2022-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 2011-12-28
相关资源
最近更新 更多