Поради въпроса, как съм комбинирал двата урока, ето отговора:
навигационно меню за страници
Показване на резултатите от заявката на различни страници V.02
краен резултат
ето и кода:
а ето го и с оцветяване на промените, или по скоро на сливането.
<html >
<head>
<title>Тест - страници</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<style type="text/css">
/*Credits: Dynamic Drive CSS Library */
/*URL: http://www.dynamicdrive.com/style/ */
.pagination{
padding: 2px;
}
.pagination ul{
margin: 0;
padding: 0;
text-align: left; /*Set to "right" to right align pagination interface*/
font-size: 16px;
}
.pagination li{
list-style-type: none;
display: inline;
padding-bottom: 1px;
}
.pagination a, .pagination a:visited{
padding: 0 5px;
border: 1px solid #9aafe5;
text-decoration: none;
color: #2e6ab1;
}
.pagination a:hover, .pagination a:active{
border: 1px solid #2b66a5;
color: #000;
background-color: lightyellow;
}
.pagination li.currentpage{
font-weight: bold;
padding: 0 5px;
border: 1px solid navy;
background-color: #2e6ab1;
color: #FFF;
}
.pagination li.disablepage{
padding: 0 5px;
border: 1px solid #929292;
color: #929292;
}
.pagination li.nextpage{
font-weight: bold;
}
* html .pagination li.currentpage, * html .pagination li.disablepage{ /*IE 6 and below. Adjust non linked LIs slightly to account for bugs*/
margin-right: 5px;
padding-right: 0;
}
</style>
</head>
<body>
<?php
/* Връзка с БД */
$db=mysql_connect ("localhost", "username", "password") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("test");
/* Отбележете по колко резултата да се показват на страница */
$pp = "10";
/* изберета таблиза която искате да покажете
$table = "test";
$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table"),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);
/* покажете записите, в този случай аз показвам само [username] */
$query = "SELECT * FROM $table LIMIT $limitvalue, $pp";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
echo "$r[username]<br>";
}
echo "<div class=pagination>";
function per_page($link, $offset) {
global $numofpages, $page;
$numofpages = round($numofpages);
$pagesstart = round($page-$offset);
$pagesend = round($page+$offset);
/* показване на стрелки « за предишна страница */
if ($page != "1" && round($numofpages) != "0") {
echo str_replace("%page", round($page-1), '<a href="'.$link.'"><li>«</li></a> ');
}
for($i = 1; $i <= $numofpages; $i++) {
if ($pagesstart <= $i && $pagesend >= $i) {
if ($i == $page) {
echo "<b><li class=currentpage>$i</li></b> ";
}
else {
echo str_replace("%page", "$i", '<a href="'.$link.'"><li>'.$i.'</li></a> '); //номерация на страниците
}
}
}
if (round($numofpages) == "0") {
echo "<li class=currentpage>$i</li>";
}
/* показване на стрелки » за следваща страница */
if ($page != round($numofpages) && round($numofpages) != "0") {
echo str_replace("%page", round($page+1), '<a href="'.$link.'"><li>»</li></a>');
echo "</div>";
}
}
/* показване на общия брой страници и избор на страница */
echo '<br>';
echo 'Общо страници: '.round($numofpages).'<br>';
per_page("?page=%page", "5");
?>
</bodi>
</html>
навигационно меню за страници
Показване на резултатите от заявката на различни страници V.02
краен резултат
ето и кода:
Код:
<html >
<head>
<title>Тест - страници</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<style type="text/css">
/*Credits: Dynamic Drive CSS Library */
/*URL: http://www.dynamicdrive.com/style/ */
.pagination{
padding: 2px;
}
.pagination ul{
margin: 0;
padding: 0;
text-align: left; /*Set to "right" to right align pagination interface*/
font-size: 16px;
}
.pagination li{
list-style-type: none;
display: inline;
padding-bottom: 1px;
}
.pagination a, .pagination a:visited{
padding: 0 5px;
border: 1px solid #9aafe5;
text-decoration: none;
color: #2e6ab1;
}
.pagination a:hover, .pagination a:active{
border: 1px solid #2b66a5;
color: #000;
background-color: lightyellow;
}
.pagination li.currentpage{
font-weight: bold;
padding: 0 5px;
border: 1px solid navy;
background-color: #2e6ab1;
color: #FFF;
}
.pagination li.disablepage{
padding: 0 5px;
border: 1px solid #929292;
color: #929292;
}
.pagination li.nextpage{
font-weight: bold;
}
* html .pagination li.currentpage, * html .pagination li.disablepage{ /*IE 6 and below. Adjust non linked LIs slightly to account for bugs*/
margin-right: 5px;
padding-right: 0;
}
</style>
</head>
<body>
<?php
/* Връзка с БД */
$db=mysql_connect ("localhost", "username", "password") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("test");
/* Отбележете по колко резултата да се показват на страница */
$pp = "10";
/* изберета таблиза която искате да покажете
$table = "test";
$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table"),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);
/* покажете записите, в този случай аз показвам само [username] */
$query = "SELECT * FROM $table LIMIT $limitvalue, $pp";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
echo "$r[username]<br>";
}
echo "<div class=pagination>";
function per_page($link, $offset) {
global $numofpages, $page;
$numofpages = round($numofpages);
$pagesstart = round($page-$offset);
$pagesend = round($page+$offset);
/* показване на стрелки « за предишна страница */
if ($page != "1" && round($numofpages) != "0") {
echo str_replace("%page", round($page-1), '<a href="'.$link.'"><li>«</li></a> ');
}
for($i = 1; $i <= $numofpages; $i++) {
if ($pagesstart <= $i && $pagesend >= $i) {
if ($i == $page) {
echo "<b><li class=currentpage>$i</li></b> ";
}
else {
echo str_replace("%page", "$i", '<a href="'.$link.'">'.$i.'</a> '); //номерация на страниците
}
}
}
if (round($numofpages) == "0") {
echo "<li class=currentpage>$i</li>";
}
/* показване на стрелки » за следваща страница */
if ($page != round($numofpages) && round($numofpages) != "0") {
echo str_replace("%page", round($page+1), '<a href="'.$link.'"><li>»</li></a>');
echo "</div>";
}
}
/* показване на общия брой страници и избор на страница */
echo '<br>';
echo 'Общо страници: '.round($numofpages).'<br>';
per_page("?page=%page", "5");
?>
</bodi>
</html>
а ето го и с оцветяване на промените, или по скоро на сливането.
<html >
<head>
<title>Тест - страници</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<style type="text/css">
/*Credits: Dynamic Drive CSS Library */
/*URL: http://www.dynamicdrive.com/style/ */
.pagination{
padding: 2px;
}
.pagination ul{
margin: 0;
padding: 0;
text-align: left; /*Set to "right" to right align pagination interface*/
font-size: 16px;
}
.pagination li{
list-style-type: none;
display: inline;
padding-bottom: 1px;
}
.pagination a, .pagination a:visited{
padding: 0 5px;
border: 1px solid #9aafe5;
text-decoration: none;
color: #2e6ab1;
}
.pagination a:hover, .pagination a:active{
border: 1px solid #2b66a5;
color: #000;
background-color: lightyellow;
}
.pagination li.currentpage{
font-weight: bold;
padding: 0 5px;
border: 1px solid navy;
background-color: #2e6ab1;
color: #FFF;
}
.pagination li.disablepage{
padding: 0 5px;
border: 1px solid #929292;
color: #929292;
}
.pagination li.nextpage{
font-weight: bold;
}
* html .pagination li.currentpage, * html .pagination li.disablepage{ /*IE 6 and below. Adjust non linked LIs slightly to account for bugs*/
margin-right: 5px;
padding-right: 0;
}
</style>
</head>
<body>
<?php
/* Връзка с БД */
$db=mysql_connect ("localhost", "username", "password") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("test");
/* Отбележете по колко резултата да се показват на страница */
$pp = "10";
/* изберета таблиза която искате да покажете
$table = "test";
$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table"),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);
/* покажете записите, в този случай аз показвам само [username] */
$query = "SELECT * FROM $table LIMIT $limitvalue, $pp";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
echo "$r[username]<br>";
}
echo "<div class=pagination>";
function per_page($link, $offset) {
global $numofpages, $page;
$numofpages = round($numofpages);
$pagesstart = round($page-$offset);
$pagesend = round($page+$offset);
/* показване на стрелки « за предишна страница */
if ($page != "1" && round($numofpages) != "0") {
echo str_replace("%page", round($page-1), '<a href="'.$link.'"><li>«</li></a> ');
}
for($i = 1; $i <= $numofpages; $i++) {
if ($pagesstart <= $i && $pagesend >= $i) {
if ($i == $page) {
echo "<b><li class=currentpage>$i</li></b> ";
}
else {
echo str_replace("%page", "$i", '<a href="'.$link.'"><li>'.$i.'</li></a> '); //номерация на страниците
}
}
}
if (round($numofpages) == "0") {
echo "<li class=currentpage>$i</li>";
}
/* показване на стрелки » за следваща страница */
if ($page != round($numofpages) && round($numofpages) != "0") {
echo str_replace("%page", round($page+1), '<a href="'.$link.'"><li>»</li></a>');
echo "</div>";
}
}
/* показване на общия брой страници и избор на страница */
echo '<br>';
echo 'Общо страници: '.round($numofpages).'<br>';
per_page("?page=%page", "5");
?>
</bodi>
</html>