不论你FOR 了多少行数据,最后也只能得到TRANS_QTY 的最后一个值,因为他们的名字都是一样的!你要把TRANS_QTY 修改为TRANS_QTY[]才能以数组的形式把所有的数据都提交!

解决方案 »

  1.   

    这样写的话TRANS_QTY就是个数组,自然用数组的处理方法
      

  2.   

    我也感觉到这个TRANS_QTY 问题,我不会用数组,本来我用name="TRANS_QTY<?=$i?>",可存储的时候就错了,高手麻烦能不能帮我写数组的方法。谢谢
      

  3.   


    foreach( $_POST['TRANS_QTY'] as value )
    {
        if( $value ) #必须有数据
        {
            $sql = "INSERT INTO table VALUES('{$value}')"; #插入数据库
        }
    }
      

  4.   

    name="TRANS_QTY<?=$i?>"如果你要这么用的话出来的值就是TRANS_QTY1,TRANS_QTY2,TRANS_QTY3.....取值的时候这么取for($i=1;$i <=$p;$i++) 

       $sql = "INSERT INTO table VALUES('{$_POST[${TRANS_QTY.$i}] }')";
    }
      

  5.   

    多写了个$,修正一下
    for($i=1;$i <=$p;$i++) 

       $sql = "INSERT INTO table VALUES('{$_POST[TRANS_QTY.$i] }')";
    }或者干脆这样
    @extract($_POST,EXTR_SKIP);
    for($i=1;$i <=$p;$i++) 

       $sql = "INSERT INTO table VALUES('{${TRANS_QTY.$i}}')";
    }
      

  6.   

    谢谢各位,这个问题我已经解决。方案和yangyu112654374的方案差不多