Ich versuche, ein Mitarbeiter-Management-System zu erstellen, und im Moment habe ich es geschafft, eine Tabelle mit einigen Datenbank-Inhalten gefüllt.
Nun, was ich will, ist die ausgewählte Zeile mit einem Klick auf eine Schaltfläche am Ende jeder Zeile gelöscht werden. Um dies zu tun, versuche ich die Jquery $ .get-Methode, die eine Datei namens delete.php aufruft, die den Job erledigen wird, und animieren Sie dann und entfernen Sie die Zeile aus dem HTML.
Das Problem ist: Die Animation startet, aber die PHP-Datei entfernt den Datensatz nicht aus der Datenbank! Ich habe sogar versucht, um Fehler zu console.log, aber wie Sie im Screenshot unten sehen können, gibt es mir nur den HTML-Code der Seite anstelle eines Fehlercodes ...
hier ist der Code ich benutzte die Tabelle zu generieren:
<?php
$sql = "SELECT * FROM dipendente";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table class='table table-striped table-hover'>".
"<thead>".
"<tr>".
"<td>id</td>".
"<td>nome</td>".
"<td>cognome</td>".
"<td>impiego</td>".
"<td>permessi</td>".
"<td>contratto</td>".
"<td>inizio</td>".
"<td>fine</td>".
"<td>edit</td>".
"</tr>".
"</thead>";
echo "<tbody>";
// output data of each row
while($row = $result->fetch_assoc()) {
$id = $row["id"];
echo "<tr id=".$row["id"].">".
"<td>" . "#". $row["id"]. "</td>" .
"<td contenteditable='false'>" . $row["nome"]. "</td>".
"<td contenteditable='false'>" . $row["cognome"] . "</td>".
"<td contenteditable='false'>" . $row["impiego"] . "</td>".
"<td contenteditable='false'>" . $row["permessi"] . "</td>".
"<td contenteditable='false'>" . $row["contratto"] . "</td>".
"<td contenteditable='false'>" . $row["inizio"] . "</td>".
"<td contenteditable='false'>" . $row["fine"] . "</td>".
"<td>" .
"<span class='glyphicon glyphicon-pencil' aria-hidden='true'></span>" .
" " .
"<span class='glyphicon glyphicon-remove-sign' aria-hidden='true'></span>" .
"<a href='#' id='$id' class='delete'><span class='glyphicon glyphicon-trash' aria-hidden='true'></span></a>".
" ".
"<span class='glyphicon glyphicon-ok-sign' aria-hidden='true'></span>".
"</td>".
"</tr>";
}
echo "</tbody>";
echo "</table>";
} else {
echo "0 results";
}
hier ist meine jQuery-Code:
$(".delete").click(function(){
var del_id = $(this).attr("id");
var tr = $(this).parent().parent();
console.log(del_id);
console.log(tr);
$.get("php/delete.php", { id: del_id } , function(error){
//console.log(error);
tr.fadeOut("1s",function(){
$(this).remove();
});
});
});
und es ist mein delete.php Code:
<?php
$id = $_GET['del_id'];
$dbc = mysqli_connect('localhost', 'root', 'root', 'gestione_personale') or die('Connection error!');
$query = "DELETE FROM dipendente WHERE id = '$id'";
mysqli_query($dbc, $query) or die('Database error!');
header('location:../index.php');
Mache ich etwas falsch?
Haben Sie versucht, Ihre '$ ID' zu wiederholen, wenn das PHP zu Ihnen übertragen wird oder nicht. – Sand
Ich denke, das liegt an der letzten Zeile 'header ('location: ../ index.php');'. Und stellen Sie sicher, Konsole für Fehler zu überprüfen. – siva
Sie müssen die ID als '$ ID = $ _GET [' ID '] sammeln; 'statt $ ID = $ _GET [' Del_ID '];' – siva