簡體   English   中英

插入具有不同ID的多行

[英]Insert multiple rows with different ID

我正在創建一個系統,其中每個行都有動態行和動態字段。 我通過一個ADD按鈕將動態行插入數據庫時​​遇到問題。

當我單擊該添加按鈕時,它保存數據,但數據保存在一個ID下。 它也沒有得到名字。 它正在為所有人保存名字。 我從數據庫中獲取這些名稱。 所以請幫我解決這個問題。 我在添加具有不同ID的行時遇到問題。

我的表格代碼

<form name="form1" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  <table>
  <tr>
    <td>Select</td>
    <td width="103">Date</td>
    <td width="94">Backup_Name</td>
    <td width="94">No Of Tapes</td>
    <td width="53">Tape Code</td>    
    <td width="71">Operator Approval</td>
    <td width="144">Operator Remark</td>
    <td width="144">Submit</td>
  </tr>
  <?php
   if ($que->num_rows > 0) {
    while ($row = mysqli_fetch_array($que)) {
   ?>
<tr>
    <td></td>
    <td><?php echo $Date;?></td>
    <td><?php echo $row['Backup_Name'];  ?></td>
    <td class="No_Of_Backup[]" value="" /><a href="#" class="addNewTape">Add</a></td>
    <td class="Tape_Code"></td>
    <td class="Operator_Verify_Status"></td>
    <td class="Operator_Remark"></td>

</tr>
<?php
    }
}
?>
</table>
<td><input type= "submit" value="add" name="add" onclick="submitdetails();"/></td>
</form>

我的PHP代碼

<?php
include_once 'dpconnect.php';

//set validation error flag as false
$error = false;
$que=mysqli_query($MySQLiconn ,"select Backup_Name from admin_backup_list ");
$ftch=mysqli_fetch_array($que);
$Backup_Name=$ftch['Backup_Name'];


if (isset($_POST['add'])) {

$query1 = "insert into backup_list (Backup_Name) values ('". $Backup_Name ."')";
mysqli_query($MySQLiconn, $query1);


$last_id = mysqli_insert_id($MySQLiconn);
$Date=date('y/m/d');
    foreach($_POST['Tape_Code'] as $key => $value){

        $Tape_Code = $_POST['Tape_Code'][$key];
        $Operator_Verify_Status = $_POST['Operator_Verify_Status'][$key];
        $Operator_Remark = $_POST['Operator_Remark'][$key];

        $query2= "insert into tapes (Backup_List_ID, Tape_Code,Operator_Verify_Status, Operator_Remark, Operator_Date) values ('". $last_id ."','". $Tape_Code ."','" .$Operator_Verify_Status ."','". $Operator_Remark ."','". $Date ."');";
        mysqli_query($MySQLiconn, $query2);
    }
}
?>

動態文字欄位

$(document).ready(function() {
    var i = 0;
    $('.addNewTape').on( "click", function() {
        $(this).parent().siblings(".Tape_Code").append('<input type="text" name="Tape_Code[]" value="'+ i +'"/><br>');
        $(this).parent().siblings(".Operator_Verify_Status").append('<SELECT name="Operator_Verify_Status[]"><OPTION value="verify">Verify</OPTION><OPTION value="NotVerify">Not Verify</OPTION><OPTION value="Failed">Failed</OPTION></SELECT><br>');
        $(this).parent().siblings(".Operator_Remark").append('<input type="text" name="Operator_Remark[]" value=""/><br>');
        i++;
    });

});


|backup list

id       name
-----------------

0        qwer
1        33344
2


tapes

id    code    approval
-----------------------
0      5959    yes
1      565     yes----->dynamic field
1      5656    yes----->dynamic field
2      8888    yes

我無法在數據庫中獲得這些1,1。 現在我全都拿0

您在沒有while循環的情況下獲取了數據,因此在while循環中獲取數據是這樣的:

    while ($ftch=mysqli_fetch_array($que)) {
        if (isset($_POST['add'])) {

            $query1 = "insert into backup_list (Backup_Name) values ('". $Backup_Name ."')";
            mysqli_query($MySQLiconn, $query1);


            $last_id = mysqli_insert_id($MySQLiconn);
            $Date=date('y/m/d');

            foreach($_POST['Tape_Code'] as $key => $value){

                $Tape_Code = $_POST['Tape_Code'][$key];
                $Operator_Verify_Status = $_POST['Operator_Verify_Status'][$key];
                $Operator_Remark = $_POST['Operator_Remark'][$key];

                $query2= "insert into tapes (Backup_List_ID,  Tape_Code,Operator_Verify_Status, Operator_Remark, Operator_Date) values ('". $last_id ."','". $Tape_Code ."','" .$Operator_Verify_Status ."','". $Operator_Remark ."','". $Date ."');";
                mysqli_query($MySQLiconn, $query2);
            }
        }
    }

您應將數據庫的ID列設置在AUTO INCREMENT上,以便它自動為新記錄生成ID。 大多數數據庫都支持自動遞增。 由於您使用的是MySQL: http//dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html

暫無
暫無

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

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