Nekonečné stránkování v PHP » PHP scripty » Blog » CrazyDog ~ Multi-blog

Nekonečné stránkování v PHP

St, 25. červenec 2007, 13:42
Nekonečné stránkování v PHP

Jelikož na mě přichází neustálé dotazy, jak udělat stránkování na svých stránkách, tak jsem se rozhodl napsat článek i s popisem principu, jak toho docílit. Co se mysli tím „nekonečné“ stránkování? Nejlepší bude si to ukázat: 1 2 3 4 5 6 7 8 ….

A teď k samotnému scriptu. Nejprve si musíte spočítat řádky v tabulce MySQL a to:

$radku = mysql_num_rows(mysql_query("SELECT id FROM tabulka;"));
Dále si zvolíte počet řádků na jednu stránku a vypočítáme na kolik stránek vyjde tabulka:
$po = 15; /* počet řádků na stránku */
$max_stranek = ceil($radku / $po); /* počet stránek */
$url_stranka = ($_GET["stranka"] / $po) + 1; /* Aktuální stránka */
A nyní samostatný script, který vypíše všechny stránky:
for($i=0; $i < $max_stranek; $i++) {
  $cislo = ($i + 1);
  $url_cislo  = ($cislo * $po) - $po;
  if($url_stranka != $cislo) {
    echo "<a href=\"?stranka=".$url_cislo."\">".($i + 1)."</a>\n";
  } else {
    echo "<strong>".($i + 1)."</strong>\n";
  }
}
Zde si samozřejmě adresu upravte podle své. Jen musíte zachovat ? či & stranka=…
Nyní vypíšeme data z MySQL již na stránkované:
if(empty($_GET["stranka"])) {$stranka = 0;} else {$stranka = $_GET["stranka"];}
$cist = mysql_query("SELECT * FROM tabulka ORDER BY id DESC LIMIT ".intval($stranka).",$po");
while($data = mysql_fetch_assoc($cist)) {
  …
}
To je celá věda stránkování. Stránkování lze samozřejmě různě formátovat, ale to už jindy. Případné nejasnosti a návrhy směřujte do komentářů.

***** ø 3.1 (1002 hlasů) ≈ Návratnost
(Čas vygenerování strán...) « Starší článek | Novější článek » (Zmenšování obrázků při...)

Štítky: PHP, tutoriál, zobrazit všechny štítky
! Našli jste v článku gramatické či pravopisné chyby? Je to z důvodu autorovy nemoci zvané dysgrafie. Tudíž všem děkuji za pochopení a každý článek pokud možno nechávám projít korekturou. !

Zatím 53 komentářů

web - reaguj - #9kralikve St, 25. červenec 2007, 14:35
avatar

Ještě jednou díky! *3**5*

Firefox 2.0.0.5 / Windows Vista
web - reaguj - #10CrazyDog mužve St, 25. červenec 2007, 14:44
avatar

{16} Koukam, ze jsi to uz vyuzil na svym webu, takze vidim, ze to funguje, takze taky diky za test a za to, ze jsem tim nekomu pomohl a nepsal jsem to nadarmo *7*

Opera 9.21 / Linux
web - reaguj - #11kralikve St, 25. červenec 2007, 14:45
avatar

{1} Už jsem myslel nezadarmo *10*

Firefox 2.0.0.5 / Windows Vista
reaguj - #12MilanMacave Čt, 26. červenec 2007, 15:01
avatar

dobrý!*3*

Firefox 2.0.0.5 / Windows XP
reaguj - #267Lordusv So, 15. září 2007, 22:34
avatar

Díky, skvělý článek! *3*

Firefox 2.0.0.6 / Windows XP
reaguj - #354michalllve Čt, 1. listopad 2007, 18:43
avatar

Potřebuji při výpisu přiřadit každému řádku pořadové číslo, když na straně 1 bude končit 5, tak aby na straně 2 začínalo od 6…

díky

Firefox 1.0.7 / Windows XP
web - reaguj - #355CrazyDog mužve Čt, 1. listopad 2007, 20:04
avatar

michalll: Kdyby by ti to stačilo po deseti, tak bych i věděl, ale po pěti mě vážně nic nenapada *6*

Opera 9.24 / Windows XP
reaguj - #356michalllve Čt, 1. listopad 2007, 20:52
avatar

to byl pouze příklad, vypsaných řádků na stránku bude asi tak 80…

Firefox 1.0.7 / Windows XP
reaguj - #363Joev So, 10. listopad 2007, 11:51
avatar

Nazdar stale mi pise hlasku:

Notice: Undefined index: stranka in …
$url_stranka = ($_GET["stranka"] / $po) + 1; /* Aktuální stránka */
Kde je chyba? (To vies amateri)
Dik

Firefox 2.0.0.9 / Windows XP
web - reaguj - #364CrazyDog mužv So, 10. listopad 2007, 13:27
avatar

Joe: Asi máš zapnuté vypisováni chyb při nulové hodnotě. V tom případě hoď před tenhle řádek ještě podmínku

if($_GET["stranka"] < 1) {$_GET["stranka"] = 0;}
A mělo by to pomoct, kdyby ne, tak mi napiš. Zkusím to nějak vyřešit.
---
Vyřešeno mailem. Problém je v nastavení php.ini, který zobrazuje chybu i v prázdné proměně. Řešení je dat zavináč před $_GET… nebo přenastavit zobrazovaní chyb.

Firefox 2.0.0.8 / Ubuntu Linux
reaguj - #381Brav Po, 26. listopad 2007, 09:08
avatar

Zdary.Mám takovej malej problém.Chtěl jsem použít u sebe tvoje stránkování ale nemůžu to nějak rozchodit.Né že by nešlo co je popsáno tady to funguje, ale vzhledem k tomu že jsem v phpku a mysql totální lamka nějak to nemůžu aplikovat na svůj web.(1stránka načte správně 5 článů, ale 2,3,4..už všechny.Nerad votravuju,ale už začínám šedivět *7*

Firefox 2.0.0.9 / Windows XP
reaguj - #384Bra68v Po, 26. listopad 2007, 22:02
avatar

Tak je po problému *7*Už jsem to rozběhal,ale stejně děkuji za ten script.Jako začátečníkovi mi ušetřil dost času a ani jsem nezešedivěl *10*Ještě jednou dík *3*

Firefox 2.0.0.9 / Windows XP
web - reaguj - #385CrazyDog mužv Út, 27. listopad 2007, 13:29
avatar

Bra68: Není zač a jsem rád, že jsi to rozběhal i bez mé pomoci, protože teď nemám vůbec čas *13*

Opera 9.24 / Windows XP
reaguj - #466Bra68v Ne, 3. únor 2008, 10:27
avatar

CrazyDog: Zdary. Potřeboval bych drobnou(?)radu.Už nějakou chvíli používám tohle tvoje stránkování na svejch stránkách.Teď jsem ho chtěl využít i na stránkování jednotlivých kategorií, ale nějak jsem se do toho zamotal. Sice články z kategorií vypíše ale nestránkuje. Mám tam někde nějakou blbost.Kdybys měl na mě chvilku poslal bych ten script mailem. Předem ďík

Firefox 2.0.0.11 / Windows XP
reaguj - #467Bra68v Po, 4. únor 2008, 22:40
avatar

Hele Dogu,člověče já s tím asi nehnu.Už jsem rezignoval.
Mořím se s tím od včerejška, hlavu mám jak pátrací balón a jsem zas kde sem byl.Když by sis na mě udělal chvíli jsem ochotnej za to i zaplatit.Když budeš mít zájem napiš mi co mě to bude stát a nějak se domluvíme.Zatím zdar

Firefox 2.0.0.11 / Windows XP
web - reaguj - #468CrazyDog mužv Út, 5. únor 2008, 17:56
avatar

Bra68: Bohužel nemám čas, tak ti posilám můj kód, který mám na mém stránkovaní těchto článků, tak snad ti to pomůže. Pokud ne, tak se ti na to mrknu…
Tohle mám ve strankovani.php, které includuji:

<div class="center">[ <a class="bold" href="<?=$adresastr?>stranka-c-0/">«</a>
<?php
$pocet = ceil($pocetkat / $po); /* Vydelime 15 (pocet zobrazeni) a zaokrouhlime */
$url_cislo2 = ($_GET['stranka'] / $po) + 1;
for($i=0; $i < $pocet; $i++) {
$cislo = ($i + 1);
$url_cislo = ($cislo * $po) - $po;
/* formatovani */
$kolik2 = 2;
$kolik1 = 2;
if($url_cislo2 == 2) {$kolik2 = 3;}
if($url_cislo2 == 1) {$kolik2 = 4;}
if($url_cislo2 == $pocet-1) {$kolik1 = 3;}
if($url_cislo2 == $pocet) {$kolik1 = 4;}
if ($url_cislo2 <= $cislo + $kolik1 && $url_cislo2 >= $cislo - $kolik2) {
/* Konec formatovani */
if ($url_cislo2 != $cislo) {
echo "<a href=\"".$adresastr."stranka-c-".$url_cislo."/\">".($i + 1)."</a>\n";
} else {echo "<strong>".($i + 1)."</strong> ";}
} /* ukonceni formatovani */
}
if($po == 10) {
 $nahodne = substr(($pocet*$po-$po),0,1);
 $nahodne = @rand(0, $nahodne);
 if($nahodne == 0) {$nahodne = 0;} else {$nahodne = $nahodne."0";}
} else {
 $nahodne = ($pocet*$po-$po);
 $nahodne = @rand(0, $nahodne);
}
?>
<a class="bold" href="<?=$adresastr?>stranka-c-<? echo ($pocet*$po-$po); ?>/">»</a> |
<a href="<?=$adresastr?>stranka-c-<?=$nahodne?>/">Nahodně</a> ]</div>
A proměnné zde použité zjistíš:
 if(mysql_num_rows(mysql_query("SELECT * FROM B_clanky WHERE stav='1' AND sekce='weblog' AND kategorie='".addslashes($kategorie_id['id'])."';")) != 0) {
$pocetkat = mysql_num_rows(mysql_query("SELECT sekce FROM B_clanky WHERE sekce='weblog' AND kategorie='".addslashes($kategorie_id['id'])."' AND stav='1';"));
$adresastr = "/blog/".$_GET['kategorie']."/"; $po = 10;
}
Tak snad ti to pomůže…

Firefox 2.0.0.11 / Ubuntu Linux
reaguj - #469Bra68v Út, 5. únor 2008, 21:12
avatar

Dík moc Dogu. Když to vidím, tak jsem docela rád, že jsem se odhodlal napsat ti už po dvou dnech trápení. Ten způsob co sem si představoval, že to bude makat byl přinejmenším hodně naivní. Dneska se na to nedostanu, ale do konce tejdne k tomu sednu a musím to rozchodit. Pak dám vědět jestli mi to běhá. Ještě jednou dík.

Firefox 2.0.0.11 / Windows XP
reaguj - #471Bra68ve Čt, 7. únor 2008, 01:02
avatar

Tak člověče asi to nezvládnu.Sedim u toho od včera *7*a výsledek je bídnej. Nějak to nemůžu dostat z databáze.Píše to Warning: Division by zero in … Upravil jsem jí (neměl jsem v tabulce sekci)ale nevím si rady s tou proměnou adresastr. No ještě to dneska zkusim ale nevim nevim *12*

Firefox 2.0.0.11 / Windows XP
web - reaguj - #472CrazyDog mužve Čt, 7. únor 2008, 18:45
avatar

Bra68: No to zero znamená, že dělíš něco nulou, což je v PHP nepřijatelné.

Firefox 2.0.0.11 / Ubuntu Linux
reaguj - #473Bra68v Pá, 8. únor 2008, 23:55
avatar

Zejtra k tomu zasednu a snad se k něčemu doberu.

Firefox 2.0.0.12 / Windows XP
reaguj - #561Jerryv So, 28. červen 2008, 17:30
avatar

No, taky bych potřeboval help.
Tvořím fotogalerii, a tabulku s obrázky generuju.

while (
$images = mysql_fetch_array($query)
)
{
$cislo++;
echo ('
<td height="150" width="150" align="center" valign="middle" >
<div><a id="'.$images['jmeno'].'" href="../../images/'.$images['jmeno'].'" class="highslide" onclick="return hs.expand(this)" >
<img align="middle" src="../../images/nahled/nahled_'.$images['jmeno'].'" title="Klikněte pro zvětšení" />
</a>
<div id="caption-for-'.$images['jmeno'].'" class="highslide-caption" >'.$images['popis'].'</div></div>
</td>');
if ($cislo==3) {echo '</tr><tr>'; $cislo=0;};
}
echo ('</tr></table>');


Zkoušel jsem do toho zakomponovat stránkování a vyšlo mi:

$p = mysql_query("SELECT * FROM `images`");
$pocet = mysql_num_rows($p);
echo 'Počet obrázků ve fotogalerii : '.$pocet.'<br />';
$cislo=0;
echo ('<table border="1"><tr>');
$po = 15;
$max_stranek = ceil($pocet / $po);
$url_stranka = ($_GET["stranka"] / $po) + 1;

for($i=0; $i < $max_stranek; $i++) { $cislo = ($i + 1); $url_cislo = ($cislo * $po) - $po; if($url_stranka != $cislo) { echo "<a href=\"?stranka=".$url_cislo."\">".($i + 1)."</a>\n"; } else { echo "<strong>".($i + 1)."</strong>\n"; } }

if(empty($_GET["stranka"])) {$stranka = 0;} else {$stranka = $_GET["stranka"];} $cist = mysql_query("SELECT * FROM `images` ORDER BY `cislo` DESC LIMIT ".intval($stranka).",$po"); while($images = mysql_fetch_assoc($cist)) { $cislo++; echo (' <td height="150" width="150" align="center" valign="middle" > <div><a id="'.$images['jmeno'].'" href="../../images/'.$images['jmeno'].'" class="highslide" onclick="return hs.expand(this)" > <img align="middle" src="../../images/nahled/nahled_'.$images['jmeno'].'" title="Klikněte pro zvětšení" /> </a> <div id="caption-for-'.$images['jmeno'].'" class="highslide-caption" >'.$images['popis'].'</div></div> </td>'); if ($cislo==3) {echo '</tr><tr>'; $cislo=0;}; }; echo ('</tr></table>');

Obrázky v tabulce ale nebyly v pořadí, v jakym jsou jejich údaje v db, některé obrázky při vložení dvakrát apod.
Co s tím?

Opera 9.27 / Windows XP
reaguj - #585dufinv So, 30. srpen 2008, 22:50
avatar

cece mam to nejaky rtozbyty nevite cim to je ze mi to tam normalne vypise pocet stranek ale vsechno se vyflusne na jednua ty dalsi sou stejny a pruser mi to pise na tehlech radcich

if(empty($_GET["stranka"])) {$stranka = 0;} else {$stranka = $_GET["stranka"];}
$cist = mysql_query("SELECT * FROM tabulka ORDER BY id DESC LIMIT ".intval($stranka).",$po");
jestli vite co stim tak poradte diky moc.

Firefox 2.0.0.16 / Windows XP
reaguj - #586dufinv So, 30. srpen 2008, 22:53
avatar

aha uz sem prisel na jednu chybu ale jedna mi tam furt prebejva
Warning: mysql_close(): 3 is not a valid MySQL-Link resource in …. nemam vubec tuseni co to je

Firefox 2.0.0.16 / Windows XP
reaguj - #588dufinv Ne, 31. srpen 2008, 16:40
avatar

Lidi můžete mi prosím poradit proč mi to nefunguje jak má skoro všechny chyby sem odstranil jen ta největší přetrvává a to že se to nestránkuje jak má vypíše to počet stránek akorát se všechny příspěvky vyplivnou na tu první. tady je můj zdroják Předem díky moc za radu.

<?php
require("options.php");

$pripoj=MySQL_Connect($SQL_Server, $SQL_Uzivatel, $SQL_Heslo) or Die(MySQL_Error()); MySQL_Select_Db($Databaze) or Die(MySQL_Error());

$dotaz="SELECT * FROM data ORDER BY datum DESC LIMIT 0, 50";

//vytvoøení sql dotazu $vysledek = MySQL_Query($dotaz); // provedení sql dotazu

while ($zaznam = MySQL_Fetch_Array($vysledek)){ $jmeno=$zaznam["jmeno"]; $datum=$zaznam["datum"]; $text=$zaznam["text"];

$radku = mysql_num_rows(mysql_query("SELECT id FROM data;")); $po = 2; /* poèet øádkù na stránku */ $max_stranek = ceil($radku / $po); /* poèet stránek */ $url_stranka = ($_GET["stranka"] / $po) + 1; /* Aktuální stránka */

print "<div style='background:#315584; color:white; padding-left:10px'><b>".$jmeno."</b><br><small> [ ".$datum." ]</small></div>";

print "<div style='background:#B5C7DE; margin-bottom:10px; padding-left:10px;'>".$text."</div>"; }

for($i=0; $i < $max_stranek; $i++) { $cislo = ($i + 1); $url_cislo = ($cislo * $po) - $po; if($url_stranka != $cislo) { echo "<a href="?stranka=".$url_cislo."">".($i + 1)."</a>"; } else { echo "<strong>".($i + 1)."</strong>"; } }

if(empty($_GET["stranka"])) {$stranka = 0;} else {$stranka = $_GET["stranka"];} $cist = mysql_query("SELECT * FROM data ORDER BY id DESC LIMIT ".intval($stranka).",$po"); while($data = mysql_fetch_assoc($cist)) MySQL_Close($pripoj); ?>

Firefox 2.0.0.16 / Windows XP
reaguj - #618Peanev So, 6. prosinec 2008, 16:11
avatar

Pekne

Firefox 3.0.4 / Windows Vista
reaguj - #647Georgeve St, 4. únor 2009, 11:51
avatar

ahoj, já mám zas jiný problém.. mě celý ten skript projede, ale na posledním znaku (})mi to vyhodí parse error :(((

MSIE 7.0 / Windows Vista
web - reaguj - #648CrazyDog mužve St, 4. únor 2009, 15:46
avatar

George: U kterého „}“ ? Myslíš while() nebo for()? Pokud while(), tak máš nějakou chybu ve tvem výpisu… Když tak zkus nějaký jednoduchý. Např. jen ID.

Firefox 3.0.5 / Ubuntu Linux
reaguj - #660Mirasekv Ne, 8. únor 2009, 18:37
avatar

Pěkný článek :)

Když jsem ho však víceméně zkopíroval, zjistil jsem, že čísla stránek se někdy hodí na další řádek, někdy ne…jde o to, zda jsou aktuální…je to takové pak podivné a nevím jak to vyřešit, je to obvyklé ?

Firefox 3.0.6 / Windows XP
web - reaguj - #705Casperv Ne, 29. březen 2009, 14:06
avatar

Mirasek asi odpovídám opravdu pozdě, ale zkus něco takovéhohle:

/*řádkování zobrazení*/
$posun = 3; //definování zobrazení počtu stránek okolo aktuální
for($i=0; $i < $max_stranek; $i++) {
$cislo = ($i + 1);
$url_cislo = ($cislo * $po) - $po;
if ($cislo == 1 && $url_stranka > $posun+1) {echo "<a href="?str=".$url_cislo."">[".($i + 1)."]</a>…";} //zobrazení odkazu na 1.stránku
if ($cislo == $max_stranek && $url_stranka < $max_stranek-$posun) {echo "…<a href="?str=".$url_cislo."">[".($i + 1)."]</a>";} //zobrazení odkazu na poslední stránku
 if($url_stranka != $cislo && ($cislo>$url_stranka-$posun-1 and $cislo<$url_stranka+$posun+1)) {
 echo " <a href="?str=".$url_cislo."">[".($i + 1)."]</a> ";
 } else {
 if ($url_stranka == $cislo){echo "".($i + 1)."";} 
 }

} /*řádkování zobrazení*/

Sepsal jsem si to pro své stránky přičemž základ je shodný se scriptem zde (proměnné krom GETu a princip fungování), funguje perfektně.

Pak se ještě někdo ptal na číslování řádků u výpisu, to zle řešit velice laicky ať už je počet zobrazených řádků na stránku 5,10 nebo 534 a to nějak takto:

<?php
while($data = mysql_fetch_assoc($vysledek)){
 echo $r + $_GET["stranka"]; //číslování
 //výpis dat řádku
 $r++;
}
?>
a v případě že potřebuješ číslovat sestupně (řádek nahoře = nejv.číslo) pak nějak takto:
while($data = mysql_fetch_assoc($vysledek)){
$poradi = $radku-$i-$_GET["str"];
 $i++;
 echo $poradi; //cislovani
 //výpis dat řádku
}
Snad někomu pomůže i když píšu pozdě:)

Firefox 3.0.7 / Windows XP
reaguj - #759Kartve Čt, 30. červenec 2009, 17:58
avatar

diky moc, ale DESC se na konci clanku v QUERY moc nehodi:)

Firefox 3.5.1 / Windows XP
reaguj - #760zuzakv So, 1. srpen 2009, 11:44
avatar

mě to stránkování ukazuje Parse error: syntax error, unexpected '}' in C:xampphtdocswwwpo.php on line 23

Firefox 3.0.12 / Windows XP
web - reaguj - #761CrazyDog mužv So, 1. srpen 2009, 19:24
avatar

zuzak: pravděpodobně někde na řádku 22 chybí interpunkční znaménko „;“ (středník).

Firefox 3.5.1 / Windows 7
reaguj - #785Evzen_Humlv Ne, 13. září 2009, 18:47
avatar

Nešel by ten kód náhodou okomentovat řádek po řádku? :)) Chtěl bych přesně vědět co se při provádění děje. Díky.

Firefox 3.5.3 / Windows XP
reaguj - #798Peterv Pá, 16. říjen 2009, 13:57
avatar

Ahoj, pokud mám v DB hodně článků, tak se zobrazí strašně moc odkazů s čísly. Jak udělat, aby se mi jich zobrazilo třeba jen 5 a pak další, předchozí? (1 2 3 4 5 dalsi)

Firefox 3.5.3 / Windows XP
reaguj - #810rionkav Út, 17. listopad 2009, 21:48
avatar

cau, jsem sice strasna php lama, ale tenhle postup asi vyzkousim. diky za zverejneni :)

Firefox 3.5.5 / Windows XP
web - reaguj - #979Smonkey mužve Čt, 30. září 2010, 21:28
avatar

Zdravím, pěkný článek, moc super. Akorát nevím jak to rozchodit. Vše klape, ale nezobrazujou se mě ty čísla (1,2,3 další…) Nevíš proč?

$radku = mysql_num_rows(mysql_query("SELECT * FROM clanky;"));
$po = 5; /* počet řádků na stránku */
$max_stranek = ceil($radku / $po); /* počet stránek */
$url_stranka = ($_GET["stranka"] / $po) + 1; /* Aktuální stránka */
for($i=0; $i < $max_stranek; $i++) {
  $cislo = ($i + 1);
  $url_cislo  = ($cislo * $po) - $po;
  if($url_stranka != $cislo) {
    echo "<a href="http://www.smonkey.ic.cz/new/clanky.php?stranka=".$url_cislo."">".($i + 1)."</a>";
  } else {
    echo "<strong>".($i + 1)."</strong>";
  }
}
if(empty($_GET["stranka"])) {$stranka = 0;} else {$stranka = $_GET["stranka"];}
$cist = mysql_query("SELECT * FROM clanky ORDER BY id DESC LIMIT ".intval($stranka).",$po");
while($data = mysql_fetch_assoc($cist)) {
$vypis .= "<center><p><h3>" .$data['nadpis']. "</h3><ul><li>" .$data['text']. "</li></ul></p><hr width="70%" size="2px"></center>";
}

Resp. Co mám vypisovat? Zatím to mám tak:

<h2>Počet publikovaných článků: <? echo $radku; ?></h2>
    <p><? echo $vypis; ?>
    <? echo ????; ?></p> 

Firefox 3.6.10 / Windows 7
web - reaguj - #980CrazyDog mužv Pá, 1. říjen 2010, 23:05
avatar

Smonkey: Místo:

echo "<a href="http://www.smonkey.ic.cz/new/clanky.php?stranka=".$url_cislo."">".($i + 1)."</a>";
dej
echo "<a href="http://www.smonkey.ic.cz/new/clanky.php?stranka=".$url_cislo."">".($i + 1)."</a>";
chyběli ti tam opačné lomítka…

Chrome 6.0.472.55 / Linux
web - reaguj - #981CrazyDog mužv Pá, 1. říjen 2010, 23:06
avatar

Aha… nějaká chyba ve scriptu webu.. Nějak mi nezobrazuje opačné lomítka *6*

Chrome 6.0.472.55 / Linux
web - reaguj - #985lopik mužv So, 9. říjen 2010, 18:01
avatar

Zdar. Proč skript stránkování nevypisuje data na další stránce?

Opera 9.80 / Windows 7
reaguj - #986Smonkey mužv Po, 11. říjen 2010, 21:28
avatar

CrazyDog:

Již vyřešeno, díky :-)

Firefox 3.6.10 / Windows XP
reaguj - #1036Davirrr mužve St, 26. leden 2011, 14:34
avatar

Dobrý den, dělam si fotogalerii v php a potrebuji strankovani jenže každe strankovaní má mysql, ale já bych ho chtěl bez mysql(protože ho moc jeste neumim použivat).Jde to nějak udelat když znám celkový počet fotek ?

Chrome 8.0.552.215 / Windows 7
web - reaguj - #1037CrazyDog mužve St, 26. leden 2011, 17:08
avatar

Davirrr: Lze, ale museli by být fotografie pojmenované např. fotka001.jpg, fotka002.jpg atd. a nesmělo by žádné číslo chybět. Potom by to šlo, ale spíše se to hodí jen u galerie, která se nemění.

Chrome 8.0.552.237 / Windows 7
reaguj - #1113Michal mužv Pá, 17. únor 2012, 13:19
avatar

Super článek, moc mi pomohl, díky.

Chrome 15.0.874.106 / Ubuntu Linux
reaguj - #1188ondrej mužv Pá, 27. červenec 2012, 22:57
avatar

ahojte, ak sa mozem spytat potrebujem presne nieco take ALE moj problem je taky ze to php dava vystup do iframe v hlavnom html (teda nie na celu stranku) to potom pojde?

Firefox 12.0 / Mac OS X
web - reaguj - #1189CrazyDog mužv So, 28. červenec 2012, 15:54
avatar

ondrej: Ahoj, tak generuj adresu s tagetem. Ale když už použiješ PHP stránkovaní, tak nevím proč to rovnou neincluduješ.

Chrome 20.0.1132.57 / Windows 7
reaguj - #1215Erosion mužv Po, 10. září 2012, 14:42
avatar

Nemohl by me nekdo funkcni kod prosimvas poslat na erosion@seznam.cz? Me to stale pise:

Undefined index: stranka
if($_GET[„stranka“] < 1) {$_GET[„stranka“] = 0;}

a nic to nevypisuje jen 1 a 2

Chrome 21.0.1180.89 / Windows 7
reaguj - #1229martinv Po, 22. říjen 2012, 21:43
avatar

CrazyDog:
sice nejsem moc opravnen jako zacatecnik neco upravovat nebo radit ale jeden kod bych mel misto teto podminky
if($_GET[&#8222;stranka&#8220;] < 1) {$_GET[&#8222;stranka&#8220;] = 0;}
pouzivam tuto podminku
/* pokud nenajde cislo stranky pocita vzorec s nulou */
if ( empty($_GET[„stranka“]) ) {
$url_stranka = ( 0 / $po) + 1;
/* Aktuální stránka */
}else {
$url_stranka = ($_GET[„stranka“] / $po) + 1; /* Aktuální stránka */
}
je to sice delsi ale nemusi se nic nikde nastavovat mozna to je i programatorsky nehezke ale ucine.

Chrome 22.0.1229.94 / Windows 7
reaguj - #1233sdhgsdh ženav So, 3. listopad 2012, 22:39
avatar

dsfhsfxhjsfj

Chrome 22.0.1229.94 / Windows 7
web - reaguj - #1506warun mužv Pá, 12. září 2014, 23:46
avatar

Zdravim, clanok zaujimavy avsak mam s nim problem.
Pocet stranok, ktore bude strankvoat vypise ( momentalne 3 ) avsak ked kliknem na napr. na 2 tak mi to neotvori nic ( 404 error).
stranky na webe includujem cez $_GET['strana'].
Ako ma vzerat URL na strankovani?
teraz pouzivam ?strana=blog ( vypisovane konkretneho clanku je ?strana=blog-clanok&id=cislo_z_db ).
vdaka za odpoved

Chrome 37.0.2062.103 / Windows 8.1
web - reaguj - #1507CrazyDog mužv Ne, 14. září 2014, 21:50
avatar

warun: Zdravím pravděpodobně takhle ?strana=blog-clanok&id=cislo_z_db&stranka='.$url_cislo.' pokud se zachovali proměnné scriptu.

Chrome 37.0.2062.103 / Windows 7
web - reaguj - #1508warun mužv Út, 16. září 2014, 17:41
avatar

premenne som zachoval avsak ked dam tvar odkazu ?strana=blog&stranka='.$url_cislo.' tak to vyhodi chybu 404

Chrome 37.0.2062.120 / Windows 8.1
web - reaguj - #1509CrazyDog mužv Út, 16. září 2014, 21:55
avatar

warun: Script nemuze vyhodit chybu 404. 404 je neexistujici stranka. Takze te odkaz presmeruje na strana=blog ktery neexistuje nebo neco podobneho. Neco mas spatne nastavene. Prekontroluj si include,htacess,promenne… I bez strankovani by ti to vyhodilo chybu 404.

Chrome 37.0.2062.120 / Windows 7
reaguj - #1513Michal mužv So, 4. říjen 2014, 19:10
avatar

čau, použil jsem script na svůj web a píše mi to chybu
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:ComplexWebServerhttp_docskategorie.php on line 55

řádek 54 vypadá takto:$cist = mysql_query(„SELECT * FROM products ORDER BY products_kategory ='$kategorie' DESC LIMIT“ .intval($stranka).„,$po“);

a řádek 55 takto:

while($data = mysql_fetch_assoc($cist)){

Chrome 37.0.2062.124 / Windows 7
 
0/2000
Jméno*
Web
Email
Gravatar
avatar
  [f] [:)] [L] [XL] [XXL] | [b] [i] [s] [e] [*] [cite] [code] [kod] [h1] [h2] [abbr] [sup] [sub] |
 
nejoblíbenější články:
novinky na webu:
informace: