Tutorial asas pembangunan PHP untuk melaksanakan paparan senarai

Kami mengikuti langkah-langkah dalam bab sebelumnya dan berjaya menyelesaikan pendaftaran pengguna.

Mari buat paparan senarai pengguna latar belakang. Dalam proses pengurusan sebenar, kami boleh mengubah suai kata laluan pengguna dan maklumat berkaitan pengguna secara individu melalui bahagian belakang.

Di latar belakang, semua pengguna perlu dipaparkan dalam jadual, iaitu senarai pengguna.


1 Menyambung ke pangkalan data, menilai ralat dan menetapkan set aksara

Menyambung, menilai ralat dan memilih set aksara adalah semuanya. disebutkan di atas Diucapkan. 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

Apa yang perlu kita tanya adalah untuk mengetahui ID pengguna, nama pengguna, masa dan IP. 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 akan menjadi 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. perlukan semua keputusan Paparkan 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, yang merupakan 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

  • Apabila memadam kita bahagikan Untuk single pemadaman pilihan dan pemadaman berbilang pilihan.

  • Apabila mengedit, kami akan memilih pengguna

Kami menambah beberapa perkara kecil pada halaman dalam kod langkah sebelumnya Pemadaman yang dilaksanakan dan penyuntingan.

Mari kita lihat rendering sebenar untuk menaakul tentang proses pelaksanaan khusus adalah seperti berikut:

117.png

Terdapat beberapa aspek. dalam proses pelaksanaan Perkara utama:

  • Apabila memilih tunggal untuk memadam atau mengedit, anda perlu menggunakan kaedah get untuk lulus dalam ID, supaya kami tahu pengguna yang akan digunakan diedit atau dipadamkan.

  • 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, kita boleh mengikuti delete.php dan menambah id dan nilai untuk membuat permintaan padam apabila diklik.

echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>';

Begitu juga dengan pengguna yang mengedit. Kami menambah ?

echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</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>';

6. Tutup sambungan pangkalan data

Kami telah selesai 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);


Meneruskan pembelajaran
||
<?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);
  • Cadangan kursus
  • Muat turun perisian kursus
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!