1. Kapselungskonfigurationsinformationen
1. Wir können eine Konfigurationsdatei config.php erstellen. Legen Sie alle Konfigurationen fest, die als Konstanten verwendet werden müssen:
<?php //数据库服务器 define('DB_HOST', 'localhost'); //数据库用户名 define('DB_USER', 'root'); //数据库密码 define('DB_PWD', 'secret'); //库名 define('DB_NAME', 'book'); //字符集 define('DB_CHARSET', 'utf8');
2. Wir extrahieren die Seite „connection.php“. Sie müssen nur die Datei „connection.php“ einbinden.
Der Code lautet wie folgt:
<?php include 'config.php';$conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_NAME); if (mysqli_errno($conn)) { mysqli_error($conn); exit; } mysqli_set_charset($conn, DB_CHARSET); ?>
Wir können die Datenbankverbindung realisieren, indem wir die Datei „connection.php“ künftig direkt in jede Datei einbinden:
include 'connection.php';
2. Paging zur Implementierung anzeigen
Seite zum Implementieren von Paging enthält die folgenden Grundelemente:
Wir haben die Kontrolle Wenn es um Seitenzahlen geht, wird die Kontrolle der Seitenzahlen dadurch erreicht, dass der Seitenzahlwert in die URL-Adressleiste eingegeben wird. Durch Anhängen der seitenzahlbezogenen Informationen an page.php können wir effektivere Informationen berechnen. Der Effekt der URL-Steuerung des Paging ist wie folgt:
In der Code-Implementierung werden diese beiden Werte tatsächlich durch den Offset (Offset) und die Menge ( Anzahl) nach dem Paging-Limit.
limit offset , num
Angenommen, 5 Elemente werden pro Seite angezeigt. Die endgültige Kontrollgrenzenformel für Paging lautet wie folgt:
offset的值为 (n-1)*5 num 为规定的5
1 Erforderliche Parameter für das Paging
1-1, Gesamtzahl
通过查询user表的count(id),得到总数$count。 $count_sql = 'select count(id) as c from user'; $result = mysqli_query($conn, $count_sql); $data = mysqli_fetch_assoc($result); //得到总的用户数 $count = $data['c'];
1-2, aktuelle Seite
beim ersten Betreten der Seite .php-Seite, die URL lautet http://www.php.com/page.php, und dahinter steht keine Seitenidentifikationsnummer ?page=1.
$page = isset($_GET['page']) ? (int) $_GET['page'] : 1;
if (isset($_GET['page'])) { $page = (int) $_GET['page']; } else { $page = 1; }
1-3, die letzte Seite
Jede Seite muss eine Ganzzahl sein. Genau wie Mathe in der Grundschule. Im Durchschnitt sollten 5,6 Personen wie viele Äpfel zubereiten. Die Antwort muss 6 sein.
//每页显示数 $num = 5; $total = ceil($count / $num);
Was soll ich tun, wenn der Benutzer auf der ersten Seite auf die vorherige Seite klickt und auf die nächste Seite klickt? die letzte Seite?
Wenn wir eine zur letzten Seite hinzufügen, machen wir sie zur letzten Seite, wodurch die Ausnahmekontrolle abgeschlossen ist.
if ($page <= 1) { $page = 1; } if ($page >= $total) { $page = $total; }
2. SQL-Anweisung
Wir haben zuvor gesagt, dass der Kern des Paging darin besteht, die Anzahl der Anzeigen pro Seite durch den Offset und die Anzahl zu steuern SQL-Anweisung.
$num = 5; $offset = ($page - 1) * $num;
$sql = "select id,username,createtime,createip from user order by id desc limit $offset , $num";
echo '<tr> <td colspan="5"> <a href="page.php?page=1">首页</a> <a href="page.php?page=' . ($page - 1) . '">上一页</a> <a href="page.php?page=' . ($page + 1) . '">下一页</a> <a href="page.php?page=' . $total . '">尾页</a> 当前是第 ' . $page . '页 共' . $total . '页 </td> </tr>';
4. Gesamtcode-Implementierung
PHP-Video-Tutorial Das obige ist der detaillierte Inhalt vonPrinzipien und Schritte zur Implementierung von Paging in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!include 'connection.php';
$count_sql = 'select count(id) as c from user';
$result = mysqli_query($conn, $count_sql);
$data = mysqli_fetch_assoc($result);
//得到总的用户数
$count = $data['c'];
$page = isset($_GET['page']) ? (int) $_GET['page'] : 1;
/*
if (isset($_GET['page'])) {
$page = (int) $_GET['page'];
} else {
$page = 1;
}
*/
//每页显示数
$num = 5;
//得到总页数
$total = ceil($count / $num);
if ($page <= 1) {
$page = 1;
}
if ($page >= $total) {
$page = $total;
}
$offset = ($page - 1) * $num;
$sql = "select id,username,createtime,createip from user order by id desc limit $offset , $num";
$result = mysqli_query($conn, $sql);
if ($result && mysqli_num_rows($result)) {
//存在数据则循环将数据显示出来
echo '
';
while ($row = mysqli_fetch_assoc($result)) {
echo '
';
} else {
echo '没有数据';
}
mysqli_close($conn);';
echo ' ';
}
echo '' . $row['username'] . ' ';
echo '' . date('Y-m-d H:i:s', $row['createtime']) . ' ';
echo '' . long2ip($row['createip']) . ' ';
echo '编辑用户 ';
echo '删除用户 ';
echo ' ';
echo '首页 上一页 下一页 尾页 当前是第 ' . $page . '页 共' . $total . '页
Der obige Inhalt implementiert eine einfache Paging-Funktion. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website: