Als PHP-Entwickler müssen wir häufig die Datenbank bedienen. In tatsächlichen Projekten müssen wir häufig Popup-Fenster verwenden, um einige Vorgänge wie Löschen, Ändern usw. auszuführen.
In diesem Artikel wird die Bedienung der Datenbank über PHP-Popup-Fenster vorgestellt, um den Lesern dabei zu helfen, diese Fähigkeit besser zu beherrschen.
1. Vorbereitung
Bevor wir das Popup-Fenster implementieren, müssen wir die folgenden Arbeiten vorbereiten:
1. Datenbankverbindung: Wir müssen PHP verwenden, um eine Datenbankverbindung zu erstellen.
2. Datenbankabfrage: Wir müssen PHP verwenden, um die Datenbank abzufragen, um die zu verarbeitenden Daten zu erhalten.
3. Popup-Fenstercode: Wir müssen JavaScript oder jQuery verwenden, um den Popup-Fenstercode zu schreiben.
Zur Vereinfachung der Demonstration verwenden wir hier MySQL als Datenbank und PHP PDO, um eine Verbindung zur Datenbank herzustellen.
2. Daten löschen
Im Folgenden stellen wir vor, wie Sie Daten über Popup-Fenster löschen. Zuerst müssen wir die zu löschenden Daten aus der Datenbank abrufen und sie dann auf der Seite anzeigen, um die Benutzerauswahl zu erleichtern.
1. Daten abfragen
Wir können den folgenden Code verwenden, um die Daten abzufragen, die gelöscht werden müssen:
<?php //连接数据库 $dsn = 'mysql:host=localhost;dbname=test;charset=utf8'; $username = 'root'; $password = '123456'; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //异常处理模式 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, //默认的查询结果类型 ]; $pdo = new PDO($dsn, $username, $password, $options); //查询要删除的数据 $sql = "SELECT * FROM test_table WHERE status = 0"; //status字段表示待删除数据 $stmt = $pdo->prepare($sql); $stmt->execute(); $data = $stmt->fetchAll(); ?>
Im obigen Code stellen wir zunächst eine Verbindung zur Datenbank her und verwenden die SELECT-Anweisung, um die Daten abzufragen, die gelöscht werden müssen gelöscht werden. Darunter zeigt das Statusfeld die zu löschenden Daten an.
Als nächstes zeigen wir die abgefragten Daten auf der Seite an, damit Benutzer sie auswählen können.
<table> <thead> <tr> <th>ID</th> <th>Name</th> <th>Email</th> <th>Action</th> </tr> </thead> <tbody> <?php foreach($data as $index=>$row): ?> <tr> <td><?php echo $row['id']; ?></td> <td><?php echo $row['name']; ?></td> <td><?php echo $row['email']; ?></td> <td><button class="delete-btn" data-id="<?php echo $row['id']; ?>">删除</button></td> </tr> <?php endforeach; ?> </tbody> </table>
Im obigen Code verwenden wir HTML-Tabellen, um die abgefragten Daten auf der Seite anzuzeigen. Um die Löschfunktion zu implementieren, fügen wir jeder Datenzeile eine Löschschaltfläche hinzu und speichern den entsprechenden ID-Wert über das data-id-Attribut.
Zuletzt implementieren wir die Löschfunktion. Wenn der Benutzer auf die Schaltfläche „Löschen“ klickt, wird ein Bestätigungsfeld angezeigt, in dem der Benutzer gefragt wird, ob er die Daten löschen möchte. Wenn der Benutzer das Löschen bestätigt, senden wir eine AJAX-Anfrage zum Löschen der Daten aus der Datenbank.
$('.delete-btn').on('click', function() { var id = $(this).data('id'); if (confirm('确定要删除吗?')) { $.ajax({ url: 'delete.php', //处理删除请求的PHP文件 type: 'POST', data: {id: id}, success: function(res) { if (res.code === 0) { alert('删除成功'); window.location.reload(); //刷新页面 } else { alert('删除失败,请稍后再试'); } }, error: function() { alert('请求失败,请稍后再试'); } }); } });
Im obigen Code verwenden wir jQuery, um das Klickereignis der Löschschaltfläche zu binden. Wenn der Benutzer auf die Schaltfläche „Löschen“ klickt, erhalten wir zunächst den ID-Wert der Daten und verwenden die Bestätigungsfunktion, um ein Bestätigungsfeld anzuzeigen, in dem der Benutzer gefragt wird, ob er die Daten löschen möchte. Wenn der Benutzer zur Bestätigung klickt, senden wir eine POST-Anfrage an die Datei delete.php, um die Daten aus der Datenbank zu löschen.
Hinweis: Der Code in der Datei delete.php lautet wie folgt:
<?php //连接数据库 $dsn = 'mysql:host=localhost;dbname=test;charset=utf8'; $username = 'root'; $password = '123456'; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //异常处理模式 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, //默认的查询结果类型 ]; $pdo = new PDO($dsn, $username, $password, $options); //删除数据 $id = $_POST['id']; $sql = "DELETE FROM test_table WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_INT); $res = $stmt->execute(); //返回结果 if ($res) { echo json_encode(['code' => 0, 'msg' => '删除成功']); } else { echo json_encode(['code' => 1, 'msg' => '删除失败']); } ?>
Im obigen Code stellen wir zunächst eine Verbindung zur Datenbank her und verwenden dann die DELETE-Anweisung, um Daten aus der Datenbank zu löschen. Abschließend geben wir die Ergebnisse im JSON-Format zurück.
3. Daten ändern
Zusätzlich zum Löschen von Daten müssen wir häufig Daten ändern. Im Folgenden stellen wir vor, wie Sie Daten über Popup-Fenster ändern.
Zuerst müssen wir die Daten, die geändert werden müssen, aus der Datenbank abfragen und auf der Seite anzeigen, damit Benutzer sie ändern können.
<?php //连接数据库 $dsn = 'mysql:host=localhost;dbname=test;charset=utf8'; $username = 'root'; $password = '123456'; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //异常处理模式 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, //默认的查询结果类型 ]; $pdo = new PDO($dsn, $username, $password, $options); //查询要修改的数据 $id = $_GET['id']; $sql = "SELECT * FROM test_table WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_INT); $stmt->execute(); $data = $stmt->fetch(); ?>
Im obigen Code erhalten wir zunächst die ID der Daten, die geändert werden müssen, über $_GET['id']. Anschließend verwenden wir die SELECT-Anweisung, um die Daten aus der Datenbank abzufragen.
Als nächstes zeigen wir die abgefragten Daten auf der Seite an, damit Benutzer sie ändern können. Hier verwenden wir weiterhin das HTML-Formular, um die abgefragten Daten in das Formular einzutragen.
<form> <input type="hidden" name="id" value="<?php echo $data['id']; ?>"> <div> <label>Name:</label> <input type="text" name="name" value="<?php echo $data['name']; ?>"> </div> <div> <label>Email:</label> <input type="text" name="email" value="<?php echo $data['email']; ?>"> </div> <button class="submit-btn">保存</button> <button class="cancel-btn" type="button" onclick="history.back()">取消</button> </form>
Beachten Sie, dass wir dem Formular ein verstecktes Feld hinzugefügt haben, um den ID-Wert der Daten zu speichern, die geändert werden müssen.
Abschließend implementieren wir die Änderungsfunktion. Wenn der Benutzer auf die Schaltfläche „Speichern“ klickt, senden wir eine AJAX-Anfrage, um die geänderten Daten in der Datenbank zu aktualisieren.
$('.submit-btn').on('click', function() { var data = $('form').serialize(); $.ajax({ url: 'update.php', //处理修改请求的PHP文件 type: 'POST', data: data, success: function(res) { if (res.code === 0) { alert('修改成功'); window.location.href = 'index.php'; //跳转到列表页 } else { alert('修改失败,请稍后再试'); } }, error: function() { alert('请求失败,请稍后再试'); } }); });
Im obigen Code verwenden wir jQuery, um das Klickereignis der Schaltfläche „Speichern“ zu binden. Wenn der Benutzer auf die Schaltfläche „Speichern“ klickt, erhalten wir zunächst alle Daten im Formular über die Serialisierungsfunktion und senden sie an die Datei update.php. Hier verwenden wir die POST-Methode zum Senden von Daten.
Hinweis: Der Code in der Datei update.php lautet wie folgt:
<?php //连接数据库 $dsn = 'mysql:host=localhost;dbname=test;charset=utf8'; $username = 'root'; $password = '123456'; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //异常处理模式 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, //默认的查询结果类型 ]; $pdo = new PDO($dsn, $username, $password, $options); //修改数据 $id = $_POST['id']; $name = $_POST['name']; $email = $_POST['email']; $sql = "UPDATE test_table SET name = :name, email = :email WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_INT); $stmt->bindParam(':name', $name, PDO::PARAM_STR); $stmt->bindParam(':email', $email, PDO::PARAM_STR); $res = $stmt->execute(); //返回结果 if ($res) { echo json_encode(['code' => 0, 'msg' => '修改成功']); } else { echo json_encode(['code' => 1, 'msg' => '修改失败']); } ?>
Im obigen Code stellen wir zunächst eine Verbindung zur Datenbank her und verwenden dann die UPDATE-Anweisung, um die Daten in der Datenbank zu aktualisieren. Abschließend geben wir die Ergebnisse im JSON-Format zurück.
Beachten Sie, dass wir hier zur Vereinfachung der Demonstration die Serialisierungsfunktion verwenden, um die Formulardaten in eine Zeichenfolge umzuwandeln. In tatsächlichen Projekten verwenden wir jedoch normalerweise das FormData-Objekt, um die Formulardaten zu verarbeiten und Funktionen wie das Hochladen von Dateien zu unterstützen.
4. Zusammenfassung
Durch die Einleitung dieses Artikels haben wir gelernt, wie man die Datenbank über PHP-Popup-Fenster bedient. Unabhängig davon, ob es sich um Löschung oder Änderung handelt, können wir ähnliche Methoden verwenden, um dies zu erreichen. Ich hoffe, dieser Artikel kann den Lesern etwas helfen. Wenn Sie noch etwas nicht verstehen, können Sie eine Nachricht zur Diskussion hinterlassen.
Das obige ist der detaillierte Inhalt vonSo bedienen Sie die Datenbank über PHP-Popup-Fenster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!