Vyzvedávání ze SQL

8 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Zdarec, zavedl jsem si na stránkách členění stránky na určitý počet záznamů ze sql na stránku. Vypadá to asi takhle: $pocet = $stranka; $dotaz = MySQL_Query("SELECT * ORDER BY id DESC"); if(!$dotaz) {echo "Chyba";} else{ $i = 0; while($zaznam = MySQL_Fetch_Array($dotaz)) { if ($pocet == "") { $pocet = 0; } if ($pocet < 0) { $pocet = 0; } ++$i; $max_pocet = $pocet + 5; if (($i > $pocet) && ($i <= $max_pocet)) { } } $pvzkazu = $i; $stranek = $pvzkazu / 5 - (($pvzkazu % 5)/5) + 1; if (($pvzkazu % 5) == 0) {$stranek=$stranek-1;} if ($pvzkazu == 0) {$stranek=1;} } $zpet = $pocet - 5; $vpred = $pocet + 5; $strana = $pocet/5 + 1; if ($pocet != 0) { echo "<A href=\"stranka=".$zpet."\"><<</A>"; } echo " Strana $strana / $stranek (celkem $pvzkazu příspěvků) "; if ($vpred < $i) { echo "<A href=\"stranka=".$vpred."\">>></A>"; Protože už roupama nevím co by :) Zamyslel jsem se a uvědomil si, že přestože na stránce je 5 záznamů ze sql se vyzvedává plný počet, což zpomaluje načítání. Poraďte mi prosím nějakou fintu aby se ze sql vyzvedlo (v tomto případě) jen 5 záznamů a to ještě ve správném pořadí. Díky
  2. >> $dotaz = MySQL_Query("SELECT * ORDER BY id DESC"); SQL dotaz je neúplný, chybí "FROM nejaka_tabulka", ale třeba si seš toho vědom.
  3. Ano, pradon mám místo * vypsané konkrétní údaje a kvůli nedůležitosti jsem to chtěl přepsat bohužel jsem se přehlédl a umázl i from. Oprava: $dotaz = MySQL_Query("SELECT * FROM xy ORDER BY id DESC");
  4. jestli tomu dobře rozumím i bez pročítání celého kódu, hledáš asi tohle: SELECT * FROM tabulka WHERE podminka ORDER BY něco LIMIT 0,5
  5. dis: Tj, ale on chce udělat asi stránkování, jestli mi rozumíš.
  6. Přesně tak tohle by vytáhlo jen záznamy s id od 0 do 5. Potřebuju aby to na stárnce 1 vytáhlo od 0 do 5 na stránce od 6 do 10 a tak dál...
  7. Já jsem si udělal takovéto počítadlo. Vstupují do něj tři parametry: - konstanta, kolik článků se má zobrazovat na stránce - celkový počet článků - číslo aktuální stránky Skript vypočítá celkový počet stránek a počáteční zprávu na konkrétní stránce. Myslím, že je to docela primitivní. Spočítat 2 hodnoty ze 3 přece není žádný problém. $pcs = 5; // Konstanta - zvol počet zpráv na stránce $pocet_clanku = ; // Zjisti celkový počet članků, třeba z db $stranka = ; // Aktuální stránka, která se má zobrazit, třeba z $_GET // Zjisti počet stránek if (intval($pocetclanku/$pcs) == ($pocetclanku/$pcs)) $celkem_stranek = intval($pocetclanku/$pcs); else $celkem_stranek = intval($pocetclanku/$pcs)+1; // Vypočítej pořadí prvního článku na konkrétní stránce $pocatecni_clanek = $pcs * ($stranka - 1); // Dobře mířený dotaz vytáhne jen články z konkrétní stránky $query = "SELECT * FROM tabulka WHERE podminky ORDER BY trideni LIMIT $pocatecni_clanek,$pcs";
  8. http://markovo.wz.cz/z/strankovani.zip k nahlednuti na http://fiestaclub.wz.cz/forum.php

← Zpět na všechna témata