Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah saya boleh memadamkan berbilang baris daripada jadual pangkalan data MySQL menggunakan kotak semak dalam PHP, dan apakah ralat biasa yang harus saya elakkan?

Bagaimanakah saya boleh memadamkan berbilang baris daripada jadual pangkalan data MySQL menggunakan kotak semak dalam PHP, dan apakah ralat biasa yang harus saya elakkan?

Patricia Arquette
Lepaskan: 2024-10-26 16:50:30
asal
760 orang telah melayarinya

How can I delete multiple rows from a MySQL database table using checkboxes in PHP, and what common errors should I avoid?

Pemadaman Berbilang Baris Menggunakan Kotak Semak dalam PHP

Kod yang disediakan bertujuan untuk memadamkan berbilang baris daripada jadual pangkalan data MySQL. Walau bagaimanapun, pelaksanaan semasa menghadapi masalah di mana tiada baris dipadamkan. Untuk menangani masalah ini, pengubahsuaian tertentu pada kod diperlukan.

Isu pertama terletak pada cara anda menerima nilai kotak pilihan. Anda mesti menganggap nilai kotak semak sebagai tatasusunan, serupa dengan:

1

<code class="php"><input name="checkbox[]" type="checkbox" value="<?php echo $row['link_id']; ?>"></code>

Salin selepas log masuk

Perubahan ini akan membolehkan anda mengira dan menggelung melalui kotak pilihan yang dipilih untuk pemadaman.

Ralat lain ialah ketiadaan sambungan pangkalan data dalam pelaksanaan pertanyaan. Anda gagal menghantar $dbc ke mysqli_query() fungsi. Sintaks yang betul hendaklah:

1

<code class="php">$result = mysqli_query($dbc, $sql);</code>

Salin selepas log masuk

Berikut ialah kod yang diperbetulkan:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

<code class="php"><?php

// Retrieve data from database and prepare HTML table

$dbc = mysqli_connect('localhost', 'root', 'admin', 'sample') or die('Error connecting to MySQL server');

$query = "select * from links ORDER BY link_id";

$result = mysqli_query($dbc, $query) or die('Error querying database');

 

// Start form and table for displaying links and checkboxes

echo '<form name="form1" method="post" action="">';

echo '<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">';

 

// Header row

echo '<tr>';

echo '<td colspan="4" align="center" bgcolor="#FFFFFF"><strong>Delete multiple links</strong></td>';

echo '</tr>';

 

echo '<tr>';

echo '<td align="center" bgcolor="#FFFFFF">#</td>';

echo '<td align="center" bgcolor="#FFFFFF"><strong>Link ID</strong></td>';

echo '<td align="center" bgcolor="#FFFFFF"><strong>Link Name</strong></td>';

echo '<td align="center" bgcolor="#FFFFFF"><strong>Link URL</strong></td>';

echo '</tr>';

 

// Data rows

while ($row = mysqli_fetch_array($result)) {

    echo '<tr>';

    echo '<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" value="' . $row['link_id'] . '"></td>';

    echo '<td bgcolor="#FFFFFF">' . $row['link_id'] . '</td>';

    echo '<td bgcolor="#FFFFFF">' . $row['link_name'] . '</td>';

    echo '<td bgcolor="#FFFFFF">' . $row['link_url'] . '</td>';

    echo '</tr>';

}

 

// Submit button

echo '<tr>';

echo '<td colspan="4" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" value="Delete"></td>';

echo '</tr>';

 

// Closing tags

echo '</table>';

echo '</form>';

 

// Delete rows if submit button is clicked

if (isset($_POST['delete'])) {

    $checkbox = $_POST['checkbox'];

 

    for ($i = 0; $i < count($checkbox); $i++) {

        $del_id = $checkbox[$i];

        $sql = "DELETE FROM links WHERE link_id='$del_id'";

        $result = mysqli_query($dbc, $sql);

    }

 

    // Redirect to a confirmation or success page after deletion

    if ($result) {

        echo '<meta http-equiv="refresh" content="0;URL=view_links.php">';

    }

}

 

mysqli_close($dbc);

?></code>

Salin selepas log masuk

Pengubahsuaian ini harus menangani isu dan membolehkan kod memadam berbilang baris daripada jadual MySQL anda menggunakan kotak pilihan .

Atas ialah kandungan terperinci Bagaimanakah saya boleh memadamkan berbilang baris daripada jadual pangkalan data MySQL menggunakan kotak semak dalam PHP, dan apakah ralat biasa yang harus saya elakkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan