Autor Zpráva
snowie_cz
Profil
Ahoj všem, řeším malý problém se stránkováním a bez odbroné pomoci to asi
nevyřeším Pro stránkování mám tuto funkci


function strankovani($tabulka,$slovo1,$idprispevek,$pocet_na_str)
{
$pocet = MySQL_Query("SELECT id FROM $tabulka");
if (!$pocet) {
echo "Došlo k chybě při zpracování dotazu v databázi.<BR>
".MySQL_Error();
exit();
}
$p = MySQL_Num_Rows($pocet);
$strana = Ceil($p/$pocet_na_str);
echo "<br><br>Další stránky (celkem $slovo1: $p ):<br>";
for ($x=1;$x<=$strana;$x++):
$levo=$idprispevek-1;
$pravo=$idprispevek+1;

if (($x==1)&&($idprispevek>=2)) { echo "<a class="odkaz" href="; echo
"?idprispevek=$levo"; echo "> << </a>";};
if ($x==$idprispevek) echo "$x"; else { echo "<a class="odkaz" href=";
echo "?idprispevek=$x"; echo "> ".$x." </a>"; };
if (($x==$strana)&&($idprispevek<$strana)) { echo "<a class="odkaz"
href="; echo "?idprispevek=$pravo"; echo "> >> </a>"; };
endfor;
echo "<br>";

}



... která vypisuje stránky 1 2 3 4 5 >> atd ... ale při větším množství stránek
se tento řádek dostává do velké dááálky pryč. Potřeboval bych např. 1 2 3 4
5 ... >> s tím, že by se řádek na posledním čísle 5 prodloužil na třeba na 5 6 7
8 9 ... >>> a tak dále ... Můžete mi s tím nějak helpnout, prosíííím

Díky všem!
Pavel
djlj
Profil
Nebudu reagovat přímo na tvůj dotaz, jen bych na tvém místě trochu poupravil zjišťování počtu záznamů v tabulce ;).

...
list($p) = mysql_fetch_row(MySQL_Unbuffered_Query("SELECT COUNT(*) FROM ".$tabulka));
...
tiso
Profil
Tá funkcia je neefektívna, stačí Ti jedno číslo z databázy - "SELECT COUNT(id) FROM $tabulka"
snowie_cz
Profil
Opravím si to .. Díky moc :) .. ale neřeší to můj problém .. ://
tiso
Profil
snowie_cz v prvom rade - je to Tvoj problém, tak by si sa mal usilovať si ho vyriešiť sám... Tiež máš rozum ako všetci ostatný...
snowie_cz
Profil
snowie_cz v prvom rade - je to Tvoj problém, tak by si sa mal usilovať si ho vyriešiť sám... Tiež máš rozum ako všetci ostatný...

O to se právě snažím, ale říkám, bez odbornější pomoci toto asi nevyřeším!
Toto téma je uzamčeno. Odpověď nelze zaslat.