簡體   English   中英

PHP多個文本框數組

[英]PHP multiple textbox array

我有文本框數組

<form method="POST">
  <input type="text" name="partnumber[]" value="1234">
  <input type="text" name="desc[]" value="used">
  <input type="text" name="qty[]" value="24">
  <input type="text" name="partnumber[]" value="2345">
  <input type="text" name="desc[]" value="good">
  <input type="text" name="qty[]" value="31">
  <input type="text" name="partnumber[]" value="3456">
  <input type="text" name="desc[]" value="brand new">
  <input type="text" name="qty[]" value="22">
  <input type="submit">
</form>

發布后,我想這樣插入我的數據庫。 具有相同的ref_id。

last_insert_id = 17;

id | ref_id | partnumber| description | quantity
1  | 17     | 1234      | used        | 24
2  | 17     | 2345      | good        | 31
3  | 17     | 3456      | brand new   | 22

任何幫助都會得到幫助。 謝謝..

$comma  = "";
$values = "";
$last_id = 17;
foreach ($partnumber as $p) {
    foreach ($desc as $d) {
       foreach ($qty as $q) {
        }
    }
     $values .= $comma."($id,$last_id,'$p','$d','$q')";
     $comma = ",";
}


$sql = "INSERT INTO parts_replaced (id,last_id,partnumber,description,quantity) VALUES $values";

您可以像這樣擺脫這種形式。

 <form method="POST">
          <input type="text" name="partnumber[]" value="1234">
          <input type="text" name="desc[]" value="used">
          <input type="text" name="qty[]" value="24">
          <input type="text" name="partnumber[]" value="2345">
          <input type="text" name="desc[]" value="good">
          <input type="text" name="qty[]" value="31">
          <input type="text" name="partnumber[]" value="3456">
          <input type="text" name="desc[]" value="brand new">
          <input type="text" name="qty[]" value="22">
          <input type="submit">
        </form>
        <?php 
        if(isset($_POST['partnumber']))
        {
        $parnumber=$_POST['partnumber'];

        foreach ($parnumber as $key => $value) {
            echo $value.'-'.$_POST['desc'][$key].'-'.$_POST['qty'][$key].'<br />';

//add your query here
        }

        }

        ?>

請嘗試這個

extract($_POST);
$last_id = 17; 
foreach($partnumber as $key => $p ){  // Can use any of the mandatory field here
        $part_no = $p;
    $description = $desc[$key];
    $qty = $qty[$key];
    $sql = "INSERT INTO parts_replaced (`ref_id`,`partnumber`,`description`,`qty`) VALUES ('".$last_id."', '".$part_no."','".$description."','".$qty ."') ";
    mysql_query($sql); // If id is auto incremented no need to specify it in query
}

INSERT INTO的字段計數與值的計數不匹配:

$ sql =“將INERT插入parts_replaced( id,last_id,part_no,description,qty )VALUES個$ values”;

$ values。= $逗號。“(( $ id,'$ p','$ d','$ q' )”;

使您的html如下:

<?php $i=0;?>

<form method="POST">
  <input type="text" name="partnumber[<?php echo $i;?>]" value="1234">
  <input type="text" name="desc[<?php echo $i;?>]" value="used">
  <input type="text" name="qty[<?php echo $i;?>]" value="24">
  <input type="text" name="partnumber[<?php echo $i+1;?>]" value="2345">
  <input type="text" name="desc[<?php echo $i+1;?>]" value="good">
  <input type="text" name="qty[<?php echo $i+1;?>]" value="31">
  <input type="text" name="partnumber[<?php echo $i+12;?>]" value="3456">
  <input type="text" name="desc[<?php echo $i+2;?>]" value="brand new">
  <input type="text" name="qty[<?php echo $i+2;?>]" value="22">
  <input type="hidden" name="arr_length" value="<?php echo $i+2;?>">
  <input type="submit">
</form>

處理php如下:

<?php
    if(isset($_POST['arr_length']) && $_POST['arr_length'] > 0){
        for($i=0;$i<=$_POST['arr_length'];$i++){
            echo $_POST['partnumber'][$i].'---'.$_POST['desc'][$i].'---'.$_POST['qty'][$i].'<br>';
        }
    }

?>
$values = "";
$last_id = 17;
$parnumber = $_POST['partnumber'];
for($i=0, $max = count($parnumber); $i < $max; $i++) {
    $p = $_POST['parnumber'][$i];
    $desc = $_POST['desc'][$i];
    $qty = $_POST['qty'][$i];
     $values .= "('$id','$last_id','$p','$desc','$qty'), ";
}
$str = trim($values);// trim the last white space
$str = rtrim($values, ',');//remove last comma

$sql = "INSERT INTO parts_replaced (id,last_id,part_no,description,qty) VALUES $str";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM