Dalam senario ini, kami mempunyai jadual HTML yang diisi dengan data yang diambil daripada pangkalan data MySQL. Matlamatnya adalah untuk mengisih baris jadual dengan mengklik pada pengepala lajur (Jenis, Penerangan, Tarikh Dirakam, Tarikh Ditambah).
Untuk mencapai matlamat ini, kami boleh memanfaatkan PHP dan MySQL untuk mengendalikan logik pengisihan.
Jadual HTML berstruktur seperti berikut:
<table> <thead> <tr> <th><a href="mypage.php?sort=type">Type</a></th> <th><a href="mypage.php?sort=desc">Description</a></th> <th><a href="mypage.php?sort=recorded">Recorded Date</a></th> <th><a href="mypage.php?sort=added">Added Date</a></th> </tr> </thead> <tbody> <?php while($row = mysql_fetch_array($result)): ?> <tr> <td><?php echo $row['type']; ?></td> <td><?php echo $row['description']; ?></td> <td><?php echo $row['recorded_date']; ?></td> <td><?php echo $row['added_date']; ?></td> </tr> <?php endwhile; ?> </tbody> </table>
Dalam kod PHP, kami mengendalikan pengisihan berdasarkan $ Parameter _GET['sort'].
<?php $sql = "SELECT * FROM MyTable"; if (isset($_GET['sort'])) { switch ($_GET['sort']) { case 'type': $sql .= " ORDER BY type"; break; case 'desc': $sql .= " ORDER BY description"; break; case 'recorded': $sql .= " ORDER BY recorded_date"; break; case 'added': $sql .= " ORDER BY added_date"; break; } } $result = mysql_query($sql); ?>
Queries SQL diubah suai secara dinamik untuk memasukkan klausa ORDER BY yang sesuai berdasarkan pilihan pengguna.
Adalah penting untuk ambil perhatian bahawa input pengguna harus dibersihkan sebelum dimasukkan ke dalam pertanyaan SQL. Ini menghalang pengguna berniat jahat daripada menjejaskan pangkalan data. Sanitasi melibatkan pengesahan dan penapisan input pengguna untuk memastikan ia tidak mengandungi aksara atau kod berniat jahat.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Baris Jadual HTML yang Diambil daripada MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!