Zadejte hledaný výraz...

Stránkování v PHP

Jan Pacek
verified
rating uzivatele
(4 hodnocení)
27. 6. 2007 17:36:39
Někdo s tím přijít musel. Jak řešíte stránkování v PHP vy ? Máte nějakou vlastní univerzální třídu "na všechno" nebo si píšete pro každý projekt novou - přesně na míru potřebám nebo používáte některou z volně dostupným tříd co je jich po netu spousta ? :kava:
27. 6. 2007 17:36:39
https://webtrh.cz/diskuse/strankovani-v-php#reply12637
Radoslav Pala
verified
rating uzivatele
(3 hodnocení)
27. 6. 2007 18:29:30
ja používam toto: http://trupik.aspweb.cz/programovani/php/strankovani-v-php-a-mysql-pohodlne-a-univerzalne.aspx. Celkom praktická
27. 6. 2007 18:29:30
https://webtrh.cz/diskuse/strankovani-v-php#reply12636
Jan Pacek
verified
rating uzivatele
(4 hodnocení)
27. 6. 2007 18:36:59
Na tu jsem se díval a zdá se mi zbytečně dlouhá, ale na druhou stranu je docela univerzální.
27. 6. 2007 18:36:59
https://webtrh.cz/diskuse/strankovani-v-php#reply12635
Radoslav Pala
verified
rating uzivatele
(3 hodnocení)
27. 6. 2007 18:50:53
to Pacek: to že je dlhá je mi jedno ja ju len používám. Dôležité je, že sa dá prakticky okamžite použiť a všetko sa dáľahko nastaviť.
27. 6. 2007 18:50:53
https://webtrh.cz/diskuse/strankovani-v-php#reply12634
TwoTick
verified
rating uzivatele
30. 6. 2007 20:45:58
Zrovna dneska jsem se s tim konfrontoval - napsal jsem si jednoduchou metodu
$Page = 1; // aktualni stranka
$Art = 5; // pocet clanku na stranku
//pokud byla jina strana nez jedna, zadej
if(isset($_GET)) $Page = $_GET;
$Radku = 1; // celkovy pocet radku v tabulce
$Radku = mysql_result(mysql_query("SELECT COUNT(*) FROM th_articles"), 0);
if($Radku <= $Art) $Stranek = 1;
else
{
$a = $Radku/$Art;
$a = (int)$a;
$Stranek = $a +1;
}
if($Page>=$Stranek)$Page = $Stranek;
elseif($Page<1) $Page=1;
$AktZaznam = 1;
$result = mysql_query("SELECT * FROM th_articles ORDER BY Time Desc LIMIT ".$Page*$Art);
while($tmp=mysql_fetch_array($result))
{
if($AktZaznam>($Page*$Art-$Art))
{
echo("

".StrFTime("%d.%m.%Y", $tmp)."         ".$tmp."

n");
echo("

".$tmp."

n");
}
$AktZaznam++;
}
echo("

");

if($Page>1)
echo(" Novější     ");
if($Page<$Stranek) echo(" Starší ";
echo("

");
30. 6. 2007 20:45:58
https://webtrh.cz/diskuse/strankovani-v-php#reply12633
baz
verified
rating uzivatele
(2 hodnocení)
30. 6. 2007 22:13:16
Pekne, ale za ty "SELECT * FROM ..." bych Vas programatory mlatil nejakou knihou o SQL
30. 6. 2007 22:13:16
https://webtrh.cz/diskuse/strankovani-v-php#reply12632
mallat
verified
rating uzivatele
30. 6. 2007 22:28:15
TwoTick bezva, ale co takhle:
SELECT * FROM *
... (jasně je to nesmysl) a ještě by šlo připojit za všech serverů a na všech portech.
Tahle pokud mě někdo dodá, hnet mu to tluču o hlavu, mám rád strojový čas!
Jinak stránkování, Kde je problém, proč používat knihovnu? Nechtěli by jste ji i na echo?
30. 6. 2007 22:28:15
https://webtrh.cz/diskuse/strankovani-v-php#reply12631
toshi
verified
rating uzivatele
(4 hodnocení)
1. 7. 2007 02:26:51
Napsal baz;6976
Pekne, ale za ty "SELECT * FROM ..." bych Vas programatory mlatil nejakou knihou o SQL
Co se ti na tom nelibi ? :) Ja bych spis mlatil za nesablonovani :)
Jinak smarty prý umí v základu stránkovat nějak pekelně jednoduše, ale co je na tom pravdy netuším - nepoužívám (radši).
1. 7. 2007 02:26:51
https://webtrh.cz/diskuse/strankovani-v-php#reply12630
baz
verified
rating uzivatele
(2 hodnocení)
1. 7. 2007 03:05:58
toshi
tyhle dotazy jsou pro sql server primo ubijejici
- vsechny i ty zbytecny polozky se musi naseekovat na disku(to trva nejdele)
- nacpat do pameti, nejak seradit
Kdyz se provadi takovyhlech 100 dotazu za vterinu nad vetsi tabulkou(100tis zaznamu) tak nastava problem, protoze disky nestihaji rychle dodavat data a cela aplikace je pomala.
1. 7. 2007 03:05:58
https://webtrh.cz/diskuse/strankovani-v-php#reply12629
TwoTick
verified
rating uzivatele
1. 7. 2007 12:44:49
takze kdyz mam tabulku kde je Title, Text, Time, tak nemam pouzivat SELECT * ale SELECT Title, Text, Time ? v cem je rozdil
1. 7. 2007 12:44:49
https://webtrh.cz/diskuse/strankovani-v-php#reply12628
Jan Pacek
verified
rating uzivatele
(4 hodnocení)
1. 7. 2007 15:39:09
Problém je v tom, že většinou tam nemáš jenom Title, Text, Time, ale např. v návštěvní knize loguješ ip, USER_AGENT a dlaší věci, které nejsou při pouhém vypisování potřeba, ty si vypíšeš u sebe v administraci. V tom je to, ne ? Hvězdičkou většinou vybereš i věci, které nejsou potřeba.
1. 7. 2007 15:39:09
https://webtrh.cz/diskuse/strankovani-v-php#reply12627
jirin
verified
rating uzivatele
(5 hodnocení)
2. 7. 2007 18:05:04
Napsal TwoTick;6990
takze kdyz mam tabulku kde je Title, Text, Time, tak nemam pouzivat SELECT * ale SELECT Title, Text, Time ? v cem je rozdil
Někde jsem četl, že to je opravdu lepší vypsat, ale je to prý minimální rozdíl.
Jinak ja obecně používám vlastní třídu, která do níž posílám pouze spočtený počet položek (článků) a tam si to pak rozsekám, mám ot psáno vcelku univerzálně. Ale dalo to i fušku:) Dobré řešení online ma i ronnie na blogu (weblog.ronnieweb.net) - z neho jsem i vlastně vycházel...
2. 7. 2007 18:05:04
https://webtrh.cz/diskuse/strankovani-v-php#reply12626
toshi
verified
rating uzivatele
(4 hodnocení)
6. 7. 2007 02:29:30
Napsal baz;6982
tyhle dotazy jsou pro sql server primo ubijejici
- vsechny i ty zbytecny polozky se musi naseekovat na disku(to trva nejdele)
u menších tabulek seekujete pouze jednou na řádek - u větších vícekrát, ale to nezávisí na počtu polí ale velikosti indexů...argumentace je v tomto ohledu tedy naprosto zcestná
6. 7. 2007 02:29:30
https://webtrh.cz/diskuse/strankovani-v-php#reply12625
Napsal Pacek;6996
Problém je v tom, že většinou tam nemáš jenom Title, Text, Time, ale např. v návštěvní knize loguješ ip, USER_AGENT a dlaší věci, které nejsou při pouhém vypisování potřeba, ty si vypíšeš u sebe v administraci. V tom je to, ne ? Hvězdičkou většinou vybereš i věci, které nejsou potřeba.
To mam nejradeji, vyhranene nazory a pak v atrgumentaci slova jako "většinou, jenom, atd...".
Mas svetsi casti pravdu ale vystupovani, hruza
15. 7. 2007 12:08:57
https://webtrh.cz/diskuse/strankovani-v-php#reply12624
Jan Pacek
verified
rating uzivatele
(4 hodnocení)
15. 7. 2007 12:50:08
V čem je problém pane Chytrý kibici ?
Slovo "většinou" znamená, že tomu tak bývá velice často, téměř vždy. Slovo "jenom" znamená, že tam není pouze Title, Text, Time, ale i IP, USER_AGENT a další.
15. 7. 2007 12:50:08
https://webtrh.cz/diskuse/strankovani-v-php#reply12623
Pro odpověď se přihlašte.
Přihlásit