我用一个session变量存储物品ID值,用@隔开,然后$array=explode("@",$_SESSION['id']);
然后用循环获取表单的值
for($i=0;$i<count($array);$i++){
   $val=$_POST['num_'.$array[$i]];
}
这样好像不可以啊,用$_POST['num_$array[$i]']也不可以,应该怎么获取?
<input type="text" name="num_<?php echo $row['b_id'];>">  //num_后面跟的是物品ID

解决方案 »

  1.   

    <input type="text" name="num_<?php echo $row['b_id'];>">
    改成
    <input type="text" name="num_<?php echo $row['b_id'];?>">
      

  2.   


    不明白 你session中保存的已经得物品的ID了,为啥还要用这个ID去POST中取一次?而且,你这样获取不觉得有问题么?
      

  3.   

    我也不明白你什么意思,
    而且你为何要用session来保存??
    然后再用Post来取,不明白。。
      

  4.   

    我解释解释,不知道这样你们明白了不
    1.我用$_SESSION['cart']存放物品ID,用@隔开,如1@8@4@16@这样子
    2.当我切换到购物车界面后,将$_SESSION['cart']分解获得物品ID,如$array=explode("@",$_SESSION['cart']),这样就获得了物品的ID,如$array[0]=1,$array[1]=8等等
    3.然后下面是一个表格,用来显示购物车信息,具体不写了,写个关键要解决的地方
    <input type="text" name="num_<?php echo $array[$i]?>">
    上面这个是个文本框,用来显示要购买的物品数量,每个商品的文本框name值不一样,如num_1,num_8等
    4.现在我要把购物车信息存到数据库里面去了,那我就要获取商品数量,那用$_POST[]来获取,一般来说就是$_POST['某个name值'],现在我要按顺序获取每个商品的数量,我就想问$_POST['num_'???]问号部分怎么写可能我解释了大家还是不明白。。个郁闷了
      

  5.   

    <input type="text" name="num_<?php echo $array[$i]?>">
    这个也是循环的吗?你这样试下,看行不
    $val=$_POST[“'num_'.$array[$i]”];
      

  6.   

    既然$_SESSION['cart'],你就可以全局的获得 这些物品的ID,
    无非就是把id取出,
    $ids = explode("@",$_SESSION['cart']);
    $posts = array();
    foreach($ids as $key => $value){
        $posts[] = $_POST["num_$value"];  //这样可以获取所有的数量了
    }
      

  7.   

    这样也不行,显示Notice: Undefined index: ‘price_’.2,后面的号码是出来了,但是多了.和两个单引号
      

  8.   

    这样也不行,显示Notice: Undefined index: price_,后面的号码显示不出来
      

  9.   

    <?php 
    print_r($array);//打印出来看看
    for($i=0;$i<count($array);$i++){
        if ($array[$i]!=""){  //如果是1@8@4@16@这个结构 循环到最好一个是空值 得到num_ 需要处理下
            $key = 'num_'.$array[$i];
            echo $key."<br>";//打印出来看看 
            $val[]=$_POST[$key];
        }
    }
    ?>
      

  10.   

    $posts[] = $_POST[""num_".$value"];把他分开写不行吗
    $abc='num_'.$value;
    $posts[] = $_POST[$abc];
      

  11.   

     print_r(explode("@",$_SESSION['cart']));
    看打印出来的是什么,根据结果调试.