Скрипт: комбиниране на 2 урока

jooorooo

Registered
Поради въпроса, как съм комбинирал двата урока, ето отговора:

навигационно меню за страници

Показване на резултатите от заявката на различни страници 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>
 

mitko876

Registered
МММММ браво това и аз щях да го правя ноизглежда че ти ми спести труда и трудностите
Мерси много :?:
 

Admin

Registered
Направи едно хубаво демо с повече резултати на страницата
и го пусни като урок.
Нищо, че се препокрива с другите.

Един урок пак за странициране няма да е излишен заедно с другите.
 

Горе