Ich habe eine HTML-Tabelle, die Daten aus einer Datenbank importiert. Momentan habe ich 4 Knöpfe am unteren Rand. Zeile hinzufügen, bearbeiten, speichern und löschen Ich habe die "Add Row" -Taste funktioniert und funktioniert ordnungsgemäß. Also meine Frage ist eine zweiteilige Frage ...Löschen, Bearbeiten und Speichern der Zeilenfunktion in Dynamic HTML Tabelle
Erstens, wie kann ich die Löschfunktion funktioniert?
Zweitens, wie kann ich die Funktion zum Bearbeiten und Speichern beginnen zu arbeiten?
HTML/PHP-Code:
<table id="html_master">
<thead>
<tr>
<td>MR_ID</td>
<td>MR_Name</td>
<td>Buyer_ID</td>
<td>MR_POC_N</td>
<td>MR_POC_E</td>
<td>MR_POC_P</td>
<td>Select</td>
</tr>
</thead>
<tbody>
<?php
foreach ($dbh->query($sql) as $rows){
?>
<tr>
<td id="mr_id"><?php echo intval ($rows['MR_ID'])?></td>
<td id="mr_name"><?php echo $rows['MR_Name']?></td>
<td id="buyer_id"><?php echo $rows['Buyer_ID']?></td>
<td id="poc_n"><?php echo $rows['MR_POC_N']?></td>
<td id="poc_e"><?php echo $rows['MR_POC_E']?></td>
<td id="poc_p"><?php echo $rows['MR_POC_P']?></td>
<td align="center"><input type="checkbox" name="check" value="checked"></td>
</tr>
<?php
}
?>
</tbody>
</table>
<input type="button" class="add" value="Add Row" onclick="insRow('html_master')">
<input type="button" id="edit" value="Edit">
<input type="button" id="save" value="Save">
<input type="button" id="delRow" value="Delete" onclick="deleteRow('html_master')">
Javascript-Code:
// ----- Deletes row -----
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
// ----- Add Row -----
function insRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
cell1.innerHTML = rowCount;
var cell2 = row.insertCell(1);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox[]";
cell2.appendChild(element2);
var cell3 = row.insertCell(2);
var element3 = document.createElement("input");
element3.type = "text";
element3.name = "txtbox[]";
cell3.appendChild(element3);
var cell4 = row.insertCell(3);
var element4 = document.createElement("input");
element4.type = "text";
element4.name = "txtbox[]";
cell4.appendChild(element4);
var cell5 = row.insertCell(4);
var element5 = document.createElement("input");
element5.type = "text";
element5.name = "txtbox[]";
cell5.appendChild(element5);
var cell6 = row.insertCell(5);
var element6 = document.createElement("input");
element6.type = "text";
element6.name = "txtbox[]";
cell6.appendChild(element6);
var cell7 = row.insertCell(6);
var element7 = document.createElement("input");
element7.type = "checkbox";
element7.name="chkbox[]";
cell7.appendChild(element7);
}
Dies scheint datenbankbezogen zu sein. Sobald Sie den DELETE-Teil erhalten haben, wird die UPDATE-Syntax ähnlich sein. –
Ja, es ist datenbankbezogen. – Rataiczak24
Ihre Frage ist ein bisschen breit. Haben Sie Schwierigkeiten mit dem Front-End-JavaScript? Oder das PHP-Backend? Um zum Beispiel zu löschen, würde etwas Javascript am vorderen Ende benötigen, um die zu löschenden Reihen zu bestimmen, die Sie scheinen, aber dann einen Anruf zum Backend, um das tatsächliche Löschen mit PHP durchzuführen. Benutzt du AJAX? Oder möchten Sie die gesamte Seite neu laden? Versuchen Sie, die einzelnen Schritte aufzubrechen und nacheinander anzugehen. Viel einfacher, auf diese Weise zu helfen. –