پیش نیازهای مورد نیاز برای این آموزش
- آموزش HTML و CSS
- آموزش PHP
- مفاهیم پایگاه داده mysql
شروع کدنویسی جهت ساخت صفحه بندی در php
SELECT * FROM content LIMIT 0,5
و همچنین از سطر 5 تا 5 سطر بعدی نیز به این صورت نوشته میشود
SELECT * FROM content LIMIT 4,5
به این نکته توجه داشته باشید که شروع اولین سطر در mysql از عدد 0 حساب می شود. یعنی اولین سطر index برابر با 0 و دومین سطر index برابر 1 و الی آخر دارد.
<body>
<h1>Simple Pagination with PHP</h1>
<table class="page">
<tr>
<td> ACKRQD </td>
<td> acknowledgment required </td>
</tr>
<tr>
<td> API </td>
<td> application programming interface </td>
</tr>
<tr>
<td> APPC </td>
<td> Advanced Program-to-Program Communications </td>
</tr>
<tr>
<td> ASCII </td>
<td> American Standard Code for Information Interchange </td>
</tr>
</table>
<table class="pagination">
<tr>
<td> 1 </td>
<td> 2 </td>
<td class="active"> 3 </td>
<td> 4 </td>
<td> 5 </td>
</tr>
</table>
</body>
کدهای CSSh1 {
text-align: center;
}
.page {
width: 900px;
margin: 0 auto;
}
.page td {
border-bottom: solid 1px #b3b5b7;
margin: 0;
padding: 10px;
}
.pagination {
margin: 10px auto;
width: 300px;
text-align: center;
}
.pagination td {
border: solid 1px #1081d0;
}
.pagination td a {
color: #1081d0;
}
.active {
background: #1081d0;
color: #ffffff;
}
حال در پایگاه داده content جدول book را با 15 سطر حاوی 3 فیلد و 15 سطر اینگونه ایجاد می کنیم:
CREATE TABLE IF NOT EXISTS `book` (
`id` int(11) NOT NULL auto_increment,
`abbreviation` varchar(255) NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`)
)
و سپس اطلاعات 15 سطر این جدول را insert می کنیم
INSERT INTO `book` (`id`, `abbreviation`, `description`)
VALUES (NULL, 'acr','acknowledgment required'),
(NULL, 'API', 'application programming interface'),
(NULL, 'APPC', 'Advanced Program to rogram Communications'),
(NULL, 'ASCII', 'American Standard Code for Information Interchange'),
(NULL, 'BBI', 'begin bracket indicator'),
(NULL, 'BBIUI', 'begin basic information unit indicator'),
(NULL, 'BCI', 'begin chain indicator'),
(NULL, 'BETB', 'between-brackets'),
(NULL, 'BICB', 'bind information control block'),
(NULL, 'DAF', 'destination address field'),
(NULL, 'CDI', 'change direction indicator'),
(NULL, 'CEI', 'chain ending indicator'),
(NULL, 'CICB', 'connection information control block'),
(NULL, 'CPI-C', 'Common Programming Interface for Communications'),
(NULL, 'CRC', 'cyclical redundancy check');
سپس به پایگاه داده content توسط php متصل می شویم:$con = mysqli_connect("localhost","root","","content")
or die("error to connet mysql");
جدول اول را که حاوی محتویات جدول content است را توسط php اییجاد می کنیم :<?php
$per_page = 5;
if(isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = 1;
}
$start = $per_page * $page;
$start = $start - $per_page;
$query = "SELECT * FROM book LIMIT $start , $per_page";
$result = mysqli_query($con,$query);
while ($row = mysqli_fetch_assoc($result)) {
echo "
<tr>
<td>
".$row['id']."
</td>
<td>
".$row['Abbreviation']."
</td>
<td>
".$row['Description']."
</td>
";
}
?>
همچنین لینک های هدایتگر به صفحات را نیز اینگونه می نویسیم<?php
$query2 = "SELECT COUNT(*) as total FROM book";
$result2 = mysqli_query($con,$query2);
$total = mysqli_fetch_assoc($result2);
$total_page = (ceil($total['total'] / $per_page));
$prev = $page-1;
if($page <=1) {
echo "
<td> < prev </td>
";
}else {
echo "
<td><a href=\"?page=".$prev."\"> < prev </a></td>
";
}
for($i=1;$i<=$total_page;$i++){
if($i==$page) {
echo "
<td class='active'>$i</td>
";
}
else {
echo "
<td><a href=\"?page=".$i."\">".$i."</a></td>
";
}
}
$next = $page+1;
if($page>=$total_page) {
echo "
<td>next ></td>
";
} else {
echo "
<td><a href=\"?page=$next\">next ></a></td>
";
}
?>