Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Untuk Memadam Berbilang Baris Pangkalan Data Dengan Betul Menggunakan Kotak Semak dalam PHP?

Bagaimana Untuk Memadam Berbilang Baris Pangkalan Data Dengan Betul Menggunakan Kotak Semak dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 19:42:02211semak imbas

How to Properly Delete Multiple Database Rows Using Checkboxes in PHP?

Memadam Baris Pangkalan Data secara Kolaboratif dengan Kotak Semak dalam PHP

Menghadapi tugas membersihkan berbilang baris daripada kubu MySQL anda, anda telah mencari pencerahan dalam kebijaksanaan pengekodan yang mendalam . Semasa memulakan usaha pembersihan data ini, anda nampaknya telah menghadapi sekatan jalan yang tidak dapat diatasi.

Kod yang anda hasilkan, walaupun berniat berani, gagal melaksanakan tujuan yang dimaksudkan untuk menghapuskan baris. Bertekad untuk mengatasi halangan ini, anda mendapatkan bimbingan dengan mengemukakan kod anda kepada komuniti pengekodan yang dihormati:

<code class="html">// PHP witchcraft to connect to MySQL
$dbc = mysqli_connect('localhost', 'root', 'admin', 'sample') or die('MySQL is out to get you!');
$query = "select * from links ORDER BY link_id";
$result = mysqli_query($dbc, $query) or die('Whoops! Query went awry!');
$count = mysqli_num_rows($result);</code>
<code class="html">// Assemble your army of checkboxes
while ($row = mysqli_fetch_array($result)) {
    echo <<<HTML
<tr>
    <td><input type="checkbox" name="checkbox[]" value="$row[link_id]"></td>
    <td>$row[link_id]</td>
    <td>$row[link_name]</td>
    <td>$row[link_url]</td>
</tr>
HTML;
}</code>
<code class="html">// The arsenal of deletion awaits your command
if (isset($_POST['delete'])) {
    // Retrieve your checked victims
    $checkbox = $_POST['checkbox'];

    // Summon the wrath of deletion upon each victim
    foreach ($checkbox as $del_id) {
        $sql = "DELETE FROM links WHERE link_id='$del_id'";
        // Unleash the purging power!
        $result = mysqli_query($dbc, $sql);
    }

    // If successful, redirect to the crime scene
    if ($result) {
        echo '<meta http-equiv="refresh" content="0;URL=view_links.php">';
    }
}</code>

The Sage's Solution

Malangnya, kod anda goyah kerana beberapa kesilapan kritikal:

  1. Array atau Single: Teg input kotak semak anda tidak mempunyai akhiran [] untuk menganggapnya sebagai tatasusunan. Tanpanya, PHP tidak akan mengenali berbilang pilihan dengan betul. Gunakan name="checkbox[]".
  2. Pemanggilan Pangkalan Data: Baris pelaksanaan pertanyaan anda tiada pembolehubah sambungan. Ia sepatutnya $result = mysqli_query($dbc, $sql);.

Dengan pembetulan tersebut, kod anda akan membuang baris seperti ahli sihir digital. Mulakan usaha pembersihan data anda dengan keyakinan yang diperbaharui!

Atas ialah kandungan terperinci Bagaimana Untuk Memadam Berbilang Baris Pangkalan Data Dengan Betul Menggunakan Kotak Semak dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn