[英]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.