2016-11-17 6 views
0

Ich habe 2 Datenbank eins ist backup_list und Bänder. backup_id ist die PK für backup_list und FK für Bänder. wie kann man die Daten von einer Abfrage in die zwei Tabellen einfügen. Es gibt dynamische Textfelder für Bandcode, Bemerkung, Verifizierung. Bitte hilf mir.Fügen Sie Daten aus dem dynamischen Textfeld in mysql ein und fügen Sie die Daten in zwei Tabellen ein.

<script type="text/javascript"> 
 
var i = 0; 
 
$(document).ready(function() { 
 
\t $('.addNewTape').on("click", function() { 
 
\t \t $(this).parent().siblings(".Tape_Code").append('<input type="text" name="inputTapeCode[1]['+ i +']" value="'+ i +'" /><br>'); 
 
\t \t $(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>'); 
 
\t \t $(this).parent().siblings(".Operator_Remark").append('<input type="text" name="inputTapeRemark[1]['+ i +']" value="" /><br>'); 
 
\t \t i++; 
 
\t }); 
 
\t 
 
}); 
 
</script> 
 

 
\t <script> 
 
\t \t n = new Date(); 
 
\t \t y = n.getFullYear(); 
 
\t \t m = n.getMonth() + 1; 
 
\t \t d = n.getDate(); 
 
\t \t document.getElementById("date").innerHTML = d + "." + m + "." + y; 
 

 
\t 
 
function addRow(tableID) { 
 

 
\t \t \t var table = document.getElementById(tableID); 
 

 
\t \t \t var rowCount = table.rows.length; 
 
\t \t \t var row = table.insertRow(rowCount); 
 

 
\t \t \t var colCount = table.rows[0].cells.length; 
 

 
\t \t \t for(var i=0; i<colCount; i++) { 
 

 
\t \t \t \t var newcell \t = row.insertCell(i); 
 

 
\t \t \t \t newcell.innerHTML = table.rows[0].cells[i].innerHTML; 
 
\t \t \t \t //alert(newcell.childNodes); 
 
\t \t \t \t switch(newcell.childNodes[0].type) { 
 
\t \t \t \t \t case "text": 
 
\t \t \t \t \t \t \t newcell.childNodes[0].value = ""; 
 
\t \t \t \t \t \t \t break; 
 
\t \t \t \t \t case "checkbox": 
 
\t \t \t \t \t \t \t newcell.childNodes[0].checked = false; 
 
\t \t \t \t \t \t \t break; 
 
\t \t \t \t \t case "select-one": 
 
\t \t \t \t \t \t \t newcell.childNodes[0].selectedIndex = 0; 
 
\t \t \t \t \t \t \t break; 
 
\t \t \t \t \t case "select-one": 
 
\t \t \t \t \t \t \t newcell.childNodes[0].selectedIndex = 0; 
 
\t \t \t \t \t \t \t break; 
 
\t \t \t \t \t case "select-one": 
 
\t \t \t \t \t \t \t newcell.childNodes[0].selectedIndex = 0; 
 
\t \t \t \t \t \t \t break; 
 
\t \t \t \t \t case "select-one": 
 
\t \t \t \t \t \t \t newcell.childNodes[0].selectedIndex = 0; 
 
\t \t \t \t \t \t \t break; 
 
\t \t \t \t } 
 
\t \t \t } 
 
\t \t } 
 

 
\t \t function deleteRow(tableID) { 
 
\t \t \t try { 
 
\t \t \t var table = document.getElementById(tableID); 
 
\t \t \t var rowCount = table.rows.length; 
 

 
\t \t \t for(var i=0; i<rowCount; i++) { 
 
\t \t \t \t var row = table.rows[i]; 
 
\t \t \t \t var chkbox = row.cells[0].childNodes[0]; 
 
\t \t \t \t if(null != chkbox && true == chkbox.checked) { 
 
\t \t \t \t \t if(rowCount <= 1) { 
 
\t \t \t \t \t \t alert("Cannot delete all the rows."); 
 
\t \t \t \t \t \t break; 
 
\t \t \t \t \t } 
 
\t \t \t \t \t table.deleteRow(i); 
 
\t \t \t \t \t rowCount--; 
 
\t \t \t \t \t i--; 
 
\t \t \t \t } 
 

 

 
\t \t \t } 
 
\t \t \t }catch(e) { 
 
\t \t \t \t alert(e); 
 
\t \t \t } 
 
\t \t } 
 

 

 
$(document).on('click', '.btn_delete', function(){ 
 
      var Backup_Name=$(this).data("id5"); 
 
      if(confirm("Are you sure you want to delete this?")) 
 
      { 
 
       $.ajax({ 
 
        url:"delete.php", 
 
        method:"POST", 
 
        data:{Backup_Name:Backup_Name}, 
 
        dataType:"text", 
 
        success:function(data){ 
 
          alert(data); 
 
          fetch_data(); 
 
        } 
 
       }); 
 
      } 
 
     }); \t \t 
 
</script>
<html> 
 
<body>  
 
    <div class="right_col" role="main"> 
 
\t \t <h1>Daily Backup</h1> 
 
\t \t <h2 id="date"></h2> 
 
    
 
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
 

 
<?php 
 
$Date=date('d/m/y'); 
 
include_once 'dpconnect.php'; 
 
$que=mysqli_query($MySQLiconn,"SELECT Backup_Name FROM admin_backup_list "); 
 
?> 
 
<!--set validation error flag as false--> 
 
<form name="form2" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
 
    <table> 
 
    <tr> 
 
\t <td>Select</td> 
 
    <td width="103">Date</td> 
 
    <td width="94">Backup_Name</td> 
 
\t <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> 
 
\t <td width="144">Submit</td> 
 
    </tr> 
 
    <?php 
 
    if ($que->num_rows > 0) { 
 
    while ($row = mysqli_fetch_array($que)) { 
 
    ?> 
 
<tr> 
 
\t <td></td> 
 
    <td><?php echo $Date;?></td> 
 
    <td><?php echo $row['Backup_Name']; ?></td> 
 
\t <td><input type ="text" name="No_Of_Backup"/><a href="#" class="addNewTape">Add</a></td> 
 
    <td class="Tape_Code"></td> 
 
\t <td class="Operator_Verify_Status"></td> 
 
\t <td class="Operator_Remark"></td> 
 
\t <!--<td><input type= "button" value="Submit" name="Submit"/></td>--> 
 
</tr> 
 
<?php 
 
    } 
 
} 
 
?> 
 

 
</table> 
 
</form> 
 
<form name="form2" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
 
<TABLE id="dataTable"> 
 
\t \t <TR> 
 
\t \t \t <TD><INPUT type="checkbox" name="chk"/></TD> 
 
\t \t \t <TD><?php echo $Date;?></TD> 
 
\t \t \t <TD><INPUT type="text" name="Backup_Name"/></TD> 
 
\t \t \t <TD><INPUT type="text" name="No_Of_Backup"/></TD> 
 
\t \t \t <TD><INPUT type="text" name="Tape_Code"/></TD> 
 
\t \t \t <TD> 
 
\t \t \t \t <SELECT name="Operator_Verify_Status"> 
 
\t \t \t \t \t <OPTION value="verify">Verify</OPTION> 
 
\t \t \t \t \t <OPTION value="NotVerify">Not Verify</OPTION> 
 
\t \t \t \t \t <OPTION value="Failed">Failed</OPTION> 
 
\t \t \t \t </SELECT> 
 
\t \t \t </TD> 
 
\t \t \t <TD><INPUT type="text" name="Operator_Remark"/></TD> 
 
\t \t \t <td><input type= "submit" value="submit" name="submit"/></td> 
 
\t \t </TR> 
 
\t \t </table> 
 
\t 
 
\t 
 
\t <INPUT type="button" value="Add Row" onclick="addRow('dataTable')" /> 
 

 
\t <INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" /> 
 
</form> 
 
<?php 
 
include_once 'dpconnect.php'; 
 

 
//set validation error flag as false 
 
$error = false; 
 

 
//check if form is submitted 
 
if (isset($_POST['submit'])) { 
 
    
 
\t $Date=date('d/m/y'); 
 
\t $Backup_Name = mysqli_real_escape_string($MySQLiconn , $_POST['Backup_Name']); 
 
\t $No_Of_Backup = mysqli_real_escape_string($MySQLiconn , $_POST['No_Of_Backup']); 
 
    $Tape_Code = mysqli_real_escape_string($MySQLiconn , $_POST['Tape_Code']); 
 
\t $Operator_Verify_Status = mysqli_real_escape_string($MySQLiconn , $_POST['Operator_Verify_Status']); 
 
\t $Operator_Remark = mysqli_real_escape_string($MySQLiconn , $_POST['Operator_Remark']); 
 
    
 
    if (!$error) { 
 
     if(mysqli_query($MySQLiconn , "INSERT INTO backup_list(Backup_Name, No_Of_Backup) VALUES('" . $Backup_Name . "', '" . $No_Of_Backup . "')")) { 
 
      $successmsg = "Successfully Registered!"; 
 
     } else { 
 
      $errormsg = "Error in registering...Please try again later!"; 
 
     } 
 
    } 
 
} 
 
?> 
 
</div> 
 
</body> 
 
</html> 

+0

Führen Sie zwei INSERT-Abfragen durch. Beim Einfügen in 'tapes' können Sie' LAST_INSERT_ID() 'verwenden, um die' backup_id' der Zeile zu erhalten, die in 'backup_list' eingefügt wurde. – Barmar

+0

hmm können Sie mir bitte einen Beispielcode davon schicken, dann kann ich das durchgehen –

Antwort

0

Verwenden LAST_INSERT_ID() die backup_id erhalten, die zugewiesen wurde, wenn Sie in backup_list eingefügt.

if(mysqli_query($MySQLiconn , "INSERT INTO backup_list(Backup_Name, No_Of_Backup) VALUES('" . $Backup_Name . "', '" . $No_Of_Backup . "')")) { 
    mysqli_query($MySQLiconn, "INSERT INTO tapes(backup_id, Tape_Code, Operator_Verify_Status, Operator_Remark) 
     VALUES (LAST_INSERT_ID(), '$Tape_Code', '$Operator_Verify_Status', '$Operator_Remark')"; 
    $successmsg = "Successfully registered"; 
} 

BTW, sollten Sie über vorbereitete Abfragen lernen statt mysqli_real_escape_string und Variablensubstitution in der Abfrage verwenden. Siehe How can I prevent SQL injection in PHP?

+0

aber es funktioniert nicht –

+0

Sie müssen detaillierter darüber sein, was nicht funktioniert. Gibt es einen Fehler an (verwenden Sie echo mysqli_error ($ MySQLiconn); ', um die Fehlermeldung zu sehen)? – Barmar

Verwandte Themen