PDA

View Full Version : طراحی و استفاده از pagination



erfan_3d
چهارشنبه 24 اردیبهشت 1393, 10:27 صبح
با سلام خدمت همه دوستان
از دوستان کسی می تونه من رو در طراحی و پیاده سازی یه pagination راهنمایی کنه؟
یه تگ div دارم که یه select می گیرم و یه جدول سطری و ستونی رو میارم تو اون تگ div
می خوام اگر از یه تعدادی بیشتر شد بره صفحه بعد
ممنون

MMSHFE
چهارشنبه 24 اردیبهشت 1393, 10:52 صبح
این کد نمونه رو ببینید که از صفحه بندی برای نمایش فهرست کاربران استفاده میکنه و در هر صفحه 5 کاربر رو نشون میده:
نسخه شئ گرا:

$page = (isset($_GET['page']) ? max(1, intval($_GET['page'])) : 1);
$itemsPerPage = 5;
$mysqli = new MySQLi('localhost', 'root', '', 'test');
if(!$mysqli) {
throw new Exception('Cannot connect');
}
$mysqli->query('SET NAMES \'utf8\'');
$mysqli->set_charset('utf8');
// Display the users of current page
$start = ($page - 1) * $itemsPerPage;
$users = $mysqli->query("SELECT * FROM `users` LIMIT {$start},{$itemsPerPage}");
if($users && $users->num_rows > 0) {
while($row = $users->fetch_object()) {
echo '<p>' . $user->name . '</p>' . PHP_EOL;
}
$users->free();
}
else {
echo '<p>No user found.</p>' . PHP_EOL;
}
// Display the pagination links
$users = $mysqli->query('SELECT COUNT(*) AS `total` FROM `users`');
if($users && $users->num_rows > 0) {
$users = $users->fetch_object();
$pageCount = ceil($users->total / $itemsPerPage);
for($i = 1; $i <= $pageCount; $i++) {
if($i != $page) {
echo '<a href="?page=' . $i . '">' . $i . '</a>' . PHP_EOL;
}
else {
echo $i . PHP_EOL;
}
}
}
نسخه رویه گرا:

$page = (isset($_GET['page']) ? max(1, intval($_GET['page'])) : 1);
$itemsPerPage = 5;
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('test') or die('Database error');
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');
// Display the users of current page
$start = ($page - 1) * $itemsPerPage;
$users = mysql_query("SELECT * FROM `users` LIMIT {$start},{$itemsPerPage}");
if($users && mysql_num_rows($users) > 0) {
while($row = mysql_fetch_assoc($users)) {
echo '<p>' . $user['name'] . '</p>' . PHP_EOL;
}
mysql_free_result($users);
}
else {
echo '<p>No user found.</p>' . PHP_EOL;
}
// Display the pagination links
$users = mysql_query('SELECT COUNT(*) AS `total` FROM `users`');
if($users && mysql_num_rows($users) > 0) {
$users = mysql_fetch_assoc($users);
$pageCount = ceil($users['total'] / $itemsPerPage);
for($i = 1; $i <= $pageCount; $i++) {
if($i != $page) {
echo '<a href="?page=' . $i . '">' . $i . '</a>' . PHP_EOL;
}
else {
echo $i . PHP_EOL;
}
}
}