Autor Zpráva
shooow
Profil
Zdravím,

chtěl bych poradit ohledně stránkování. Mám script pro vkládání článků do databáze a dále script pro jejich výpis, kde jsem implementoval stránkování (použito z tohoto fóra). Problém je v tom, že po překročení 5 záznamů (vypisuje na stránku 5 článků), vytvoří další stranu (Strana: 1 , 2 , ... a index.php?stranka=2), pokud kliknu na odkaz strany 2 načte index.php?stranka=2, ale vypisuje novinky ze strany 1, toto se děje pouze na webhostingu, stejný script na localhostu, funguje správně, akorát vypisuje chyb. hlášení "Notice: Undefined variable: stranka in C:\Program Files (x86)\VertrigoServ\www\akradec\index.php on line 101", přesto funguje správně. Na webhostingu chyb. hlášení nevypisuje, ale funguje chybně.

řáděk 100: if ($stranka == "") {


if ($stranka == "") {
$stranka=1;
$jt=0;
}
else {
$j =$stranka*5-5;
}

echo "<div id='imPage'>";

$sql = mysql_query("SELECT * FROM ".$novinky." ORDER BY id DESC LIMIT $j,5;");
while($vypis = mysql_fetch_array($sql)){
ZDE JE VYPIS NOVINEK Z DB
}

$pocet_radku=mysql_query("SELECT COUNT(*) AS id FROM $novinky");

$pocet_radku=mysql_fetch_array($pocet_radku);
 
$pocet_stran=ceil($pocet_stran=$pocet_radku["id"]/5);

$i=0;

for ($i = 1; $i <= $pocet_stran; $i++) 
{
  if ($i == 1 || $i == $pocet_stran || ($i >= $stranka - 3 && $i <= $stranka + 3))
    if ($i == $stranka)
      echo "<span style=\"font-family: Tahoma; text-decoration: none; color: #000000; font-size: 13px ; vertical-align: baseline; line-height: 16px ;\"><b>$i , </b></span>";
    else    
      echo "<a href=\"index.php?stranka=$i\" style=\"font-family: Tahoma; text-decoration: none; color: #990000; font-size: 13px; \"><b>$i</b></a><span style=\"font-family: Tahoma; text-decoration: none; color: #000000; font-size: 13px; \"> , </span> ";
}
Tori
Profil
shooow:
Není to tímto? Nejčastější potíže s PHP (FAQ) » Nefungují proměnné z formuláře nebo z URL (vypnuté register globals)

stránkování (použito z tohoto fóra)
Jaké vlákno?
shooow
Profil
Celý kód pouze stránkování, viz. výše. Neřekl bych, že je to glob. prom., je zde možná jiná příčina? Nemám tušení jak to řešit.
tiso
Profil
shooow: nahraď si ten if/else za:

$stranka = isset($_GET['stranka']) ? $_GET['stranka'] : 1;
$stranka = max($stranka, 1);
$j = ($stranka - 1) * 5;
shooow
Profil
Děkuji moc, za řešení, funguje bez problému.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: