2014-01-25 62 views
0
<?php 
    $sql_select="select * from tb_weight_slot "; 
    query_select=mysql_query($sql_select); 
    while($row_select=mysql_fetch_array($query_select)) 
    { 
?> 
    <tr> 
    <td><input type="text" name="weight[]" value="<?php echo $row_select["weight_slot_name"]; ?>" /></td> 
     <td><input type="text" name="rate[]" style="width:100px; height:22px; float:left; margin:0px 0px 0px 0px;" /></td> 
    </tr> 

<?php 
    } 
?> 
    </table> 

    <br/><br/> 

    <input type="submit" value="Save" name="save" />  

在這段代碼中,我正在從表中獲取權重插槽並在頁面中顯示它們....我已經動態地添加了一行,命名爲rate [] ... ..現在我想要的是,當我輸入多個字段的速度,因爲有一個while循環,然後單擊提交按鈕,然後重量插槽和速率應插入一個新的表...但它沒有被插入。 ....我提交的代碼是....在php中提交按鈕沒有插入多個值

<?php 
if(isset($_POST["save"])) 
{ 
    for($i=0;$i<count($_POST["weight"]); $i++) 
    { 
     $rate=$_POST["rate"][$i]; 
     mysql_query("insert into tb_weight_rate_management (rate) values (".$rate.")"); 
    } 
} 
?> 
+0

第一:你把提交按鈕進入死循環,這是錯誤的!第二:你的標籤在哪裏

? – sergio

+0

我已糾正的循環的東西,但形式是在正確的地方 – user3138522

+0

你想插入每個重量和速度作爲夫婦? – voodoo417

回答

0

數組$_POST["weight"]是從陣列$_POST["rate"]完全獨立。您正在生成數組長度爲$_POST["weight"]的索引,並通過$_POST["rate"]對此進行迭代。

您不檢查實際上是否設置了$_POST["rate"][$i]。由於該值未在SQL中引用,因此可能會導致錯誤。

更好:

<?php 

      for($i=0;$i<count($_POST["rate"]); $i++) 
      { 
       $rate=$_POST["rate"][$i]; 
       if (!empty($rate)) 
        mysql_query("insert into tb_weight_rate_management (rate) values ('".$rate."')"); 
      } 


    ?>