Autor | Zpráva | ||
---|---|---|---|
Milan Zítka Profil * |
Zdravím,
narazil jsem na malý problém. Kdysi jsem začal používat tuto třídu pro stránkování: www.jazzblog.cz/pager.class.rar Teď bych ji rád použil pro výpis koncertů, ale v mysql dotazu potřebuji využít DISTINCT. Ovšem třída tuto skutečnost zřejmě přehlíží a při počítání celkového počtu záznamů to nebere na vědomí. Vznikají tak prázdné stránky. Pro větší názornost si to prohlédněte na http://www.jazzblog.cz/koncerty/kraj2.php?kraj=1 Pro úplnost je zde kód na samotné stránce, ačkoliv si myslím, že poblém bude v samotné třídě: require_once("../sub/strankovani/Pager.class2.php"); //vytvoreni objektu, jako parametry konstruktoru se //predavaji SQL dotaz a parametr URL, ktery bude pager //pouzivat pro odkazy na dalsi stranky if(isset($od)){ $pager = new Pager("SELECT DISTINCT gig_date FROM gigs_gig WHERE gig_date >= '$od' AND gig_date <= '$do' AND gig_kraj = '$kraj' ORDER BY gig_date", "page"); }else { $pager = new Pager("SELECT DISTINCT gig_date FROM gigs_gig WHERE gig_date >= curdate() AND gig_kraj = '$kraj' ORDER BY gig_date", "page"); } $pager->PageSize = 5; $pager->PagerAlign = "center"; //ziska z databaze pozadovanou cast vysledkove sady $pager->DataBind(); //postupne ziskavani jednotlivych zaznamu z vysledkove sady while ($obj = $pager->GetOne()): //výpis endwhile; //nastaveni modu FirstLast $firstLastMode = new FirstLastPagerMode(); $firstLastMode->FirstCssClass = "first"; $firstLastMode->FirstPageText = ""; $firstLastMode->LastCssClass = "last"; $firstLastMode->LastPageText = ""; $pager->AddPagerMode($firstLastMode); //nastaveni modu PrevNext $prevNextMode = new PrevNextPagerMode(); $prevNextMode->NextCssClass = "next"; $prevNextMode->NextPageText = ""; $prevNextMode->PrevCssClass = "prev"; $prevNextMode->PrevPageText = ""; $pager->AddPagerMode($prevNextMode); $pager->AddPagerMode(new DefaultPagerMode); $pager->DrawPager(); Jestli vás napadne cokoliv, prosím pište. Něco málo v PHP umím, ale toto je zřejmě nad mé síly. Předem děkuji! |
||
Kajman_ Profil * |
#2 · Zasláno: 10. 2. 2011, 08:42:28
Zkuste napsat dotaz bez použití distinct...
SELECT gig_date FROM gigs_gig WHERE gig_date >= curdate() AND gig_kraj = '$kraj' GROUP BY gig_date ORDER BY gig_date |
||
Milan Zítka Profil * |
#3 · Zasláno: 10. 2. 2011, 11:57:09
Mockrát děkuji za nakopnutí, už je to spraveno.
|
||
Časová prodleva: 13 let
|
0