Ograniczenie linków w galerii do 3 w lewo i 3 w prawo.

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
joka2
Nowy
Nowy
Posty: 62
Rejestracja: śr lis 15, 2006 5:02 pm
Kontakt:

Ograniczenie linków w galerii do 3 w lewo i 3 w prawo.

Post autor: joka2 »

Witam,

poszukuję skryptu, który będzie mi wyświetlać linki do kolejnych stron z ograniczeniem do trzech w przód i trzech w tył.

Posiadam stronę, która wyświetla bardzo dużo linków:

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

chciałbym to ograniczyć do trzech po lewej stronie i do trzech po prawej stronie.
Czyli coś takiego:

| 3 | 4 | 5 | 6 | 7 | 8 | 9 |

Chciałbym mieć coś takiego, jak na stronie poniżej: http://webtutorials.pl/tutoriale,php,11,3.html

Czy ktoś wie, jak to zrobić?
joka2
Nowy
Nowy
Posty: 62
Rejestracja: śr lis 15, 2006 5:02 pm
Kontakt:

Re: Ograniczenie linków w galerii do 3 w lewo i 3 w prawo.

Post autor: joka2 »

Posiadam coś takiego:

[php]<?php
for($i = 1; $i <= $liczba_stron; ++$i)
{
if ($pokaz_strone==$i)
{
echo "<b> $i </b> |";
}
else
{
echo " <a href=\"index.php?pokaz_strone=$i\">$i</a> |";
}
}
?>[/php]

Powyższy skrypt wyświetla wszystkie linki ($liczba_stron), a strona, na której się znajduję jest pogrubiona...

Jak to ograniczyć do 3 z lewej i 3 z prawej?
ryczypior
Posty: 12
Rejestracja: śr sty 07, 2009 10:35 pm

Re: Ograniczenie linków w galerii do 3 w lewo i 3 w prawo.

Post autor: ryczypior »

jak w matematyce, dobrze dodać kilka zmiennych pomocniczych ;)

wiesz, ktora strone chcesz pokazac, wiec nie rozpoczynaj zawsze od 1, ale od $pokaz_strone-3 jesli ($pokaz_strone-3)>0. Tak samo ograniczaj z góry pokazuj do ($pokaz_strone+3) jesli ($pokaz_strone+3)<=$liczba_stron.

W kodzie może to wyglądać tak:
[php]<?php
$od=$pokaz_strone-3;
if($od<1)
$od=1;
$do=$od+7;
if($do>$liczba_stron)
{
$do=$liczba_stron;
$od=$do-7;
if($od<1)
$od=1;
}
for($i = $od; $i <= $do; $i++)
{
if ($pokaz_strone==$i)
{
echo "<b> $i </b> |";
}
else
{
echo " <a href=\"index.php?pokaz_strone=$i\">$i</a> |";
}
}
?>[/php]
ODPOWIEDZ