Paparan senarai
1. Menyambung ke pangkalan data, menilai ralat dan menetapkan set aksara
Sambungan, penghakiman ralat dan pemilihan set aksara semuanya telah dibincangkan di atas. Peraturan lama, langkah pertama ialah menggunakan mysqli_connect untuk menyambung ke pangkalan data. Seperti yang kami katakan dalam bahagian pertama, anda boleh menambah pemilihan perpustakaan dalam parameter keempat. Anda tidak perlu lagi menggunakan fungsi mysqli_select_db untuk memilih pangkalan data sekali lagi kemudian.
Jenis yang dikembalikan ialah sumber sambungan. Kita mesti memasukkan sumber dalam mysqli_errno, mysqli_error dan mysqli_set_charset untuk menentukan sambungan yang kami kendalikan.
$conn = mysqli_connect('localhost', 'root', 'secret', 'book'); if (mysqli_errno($conn)) { mysqli_error($conn); exit; } mysqli_set_charset($conn, 'utf8');
2 Sediakan dan hantar penyata SQL
ID pengguna, nama pengguna, masa dan IP yang perlu kami buat pertanyaan ialah Cari. keluar. Dan gunakan tertib mengikut id untuk mengisih mengikut tertib menurun.
Menurut pemikiran manusia, orang ramai secara umumnya suka melihat kumpulan pengguna berdaftar terkini. ID meningkat secara automatik, iaitu, lebih besar ID, lebih ramai pengguna baharu didaftarkan. Oleh itu, apabila kami menulis pernyataan SQL, kami menulis pesanan mengikut id desc.
$sql = "select id,username,createtime,createip from user order by id desc"; $result = mysqli_query($conn, $sql);
3. Keputusan penghakiman
Selagi pernyataan SQL adalah betul, pembolehubah hasil $result adalah benar. Oleh itu, kita perlu menambah satu lagi langkah pertimbangan semasa pelaksanaan, bukan sahaja $hasil. Selain itu, tentukan bilangan baris yang ditanya.
Untuk menanyakan bilangan baris, anda boleh menggunakan mysqli_num_rows. Fungsi ini memerlukan pembolehubah hasil pertanyaan $result dihantar masuk.
Jika ada keputusan, senarai akan dipaparkan Jika tiada hasil, kami boleh menjana gesaan.
Coretan kod adalah seperti berikut:
if($result && mysqli_num_rows($result)){ //显示列表代码段 }else{ //提示没有结果的代码段 }
4 Data paparan gelung
Kami perlu memaparkan semua hasil dalam. bentuk senarai. Baris dan lajur jadual adalah sama dengan jadual data. Ditunjukkan adalah mudah untuk dipaparkan.
Isytiharkan jadual dahulu dan keluarkan satu baris setiap kali ia gelung. Paparkan keputusan dalam setiap lajur.
Fungsi yang digunakan ialah mysqli_fetch_assoc, yang mengembalikan tatasusunan bersekutu.
Fungsi ini membaca set hasil dan bergerak ke belakang sekali. Apabila tiada hasil selepas membaca, nilai bool palsu akan dikembalikan. Oleh itu, kami memilih semasa untuk bekerjasama dengan mysqli_fetch_assoc.
Hasil setiap gelung diberikan kepada $row dan $row ialah tatasusunan bersekutu. Jadi dalam gelung ini, saya boleh memaparkan kedua-dua baris dan lajur.
echo '<table width="800" border="1">'; while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td>' . $row['username'] . '</td>'; echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>'; echo '<td>' . long2ip($row['createip']) . '</td>'; echo '</tr>'; } echo '</table>';
5. Tambah kawalan pengeditan dan pemadaman
1. Apabila memadam, kami membahagikannya kepada pemadaman pilihan tunggal dan pemadaman berbilang pilihan .
2. Apabila mengedit, kami akan memilih pengguna
Kami menambahkan beberapa perkara kecil pada kod pada langkah sebelumnya untuk mencapai pemadaman dan penyuntingan pada halaman.
Mari kita lihat rendering sebenar untuk menyimpulkan proses pelaksanaan khusus adalah seperti berikut:
Terdapat beberapa aspek dalam. proses pelaksanaan Perkara utama:
1. Apabila memilih padam atau edit, anda perlu menggunakan kaedah dapatkan untuk lulus dalam ID, supaya kami tahu pengguna mana yang hendak diedit atau dipadamkan.
2 Apabila memadamkan berbilang pilihan, anda perlu memasukkan berbilang pengguna. Oleh itu, kami boleh menggunakan borang borang dan kaedah siaran untuk menyerahkan kumpulan ID pengguna ini.
Untuk pemadaman pilihan tunggal, kami boleh mengikuti delete.php dan menambah id dan nilai untuk membuat permintaan padam apabila diklik.
echo '<td><a href="delete.php?id=' . $row['id'] . '">Padam pengguna</a></td>'; sama berlaku kepada pengguna. Kami menambah ? ke edit.php dan menulis id dan nilai apabila diklik, kami akan tahu pengguna mana yang perlu diedit.
gema '<td><a href="edit.php?id=' . $row['id'] . '">Edit pengguna</a></td>';
Untuk pemadaman berbilang pilihan, kami perlu menggunakan kotak pilihan dalam HTML Apabila menghantar berbilang ID pengguna, kami perlu menambah id[] selepas nama. Gunakan borang untuk membalut jadual dan tambah teg serah di luar jadual untuk mencapai pemadaman berbilang pilihan.
<form action="delete.php" method="post"> echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>'; echo '<input type="submit" value="删除" />'; echo '</form>';
Kodnya adalah seperti berikut:
echo '<form action="delete.php" method="post">'; echo '<table width="800" border="1">'; while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>'; echo '<td>' . $row['username'] . '</td>'; echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>'; echo '<td>' . long2ip($row['createip']) . '</td>'; echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>'; echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>'; echo '</tr>'; } echo '</table>'; echo '<input type="submit" value="删除" />'; echo '</form>';
7. Tutup sambungan pangkalan data
Selepas kami mengendalikan pangkalan data, tutup sambungan pangkalan data.
mysqli_close($conn);
Kod senarai pengguna.php yang kami laksanakan adalah seperti berikut:
<?php $conn = mysqli_connect('localhost', 'root', 'secret', 'book'); if (mysqli_errno($conn)) { mysqli_error($conn); exit; } mysqli_set_charset($conn, 'utf8'); $sql = "select id,username,createtime,createip from user order by id desc"; $result = mysqli_query($conn, $sql); if ($result && mysqli_num_rows($result)) { echo '<table width="800" border="1">'; while ($row = mysqli_fetch_assoc($result)) { echo '<tr>'; echo '<td>' . $row['username'] . '</td>'; echo '<td>' . date('Y-m-d H:i:s', $row['createtime']) . '</td>'; echo '<td>' . long2ip($row['createip']) . '</td>'; echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>'; echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>'; echo '</tr>'; } echo '</table>'; } else { echo '没有数据'; } mysqli_close($conn);