Autor Zpráva
Honzicek76
Profil *
Zdravim, lze nejakym zpusobem udelat spolecne strankovani pro cely web, ktery se bude lisit pouze vzhledem, pocet zaznamu na jedna strance bude zachovan? Pokud to lze nejak udelat, tak prosim jak a jake to ma pripadne nevyhody. Potrebuji udelat poslecne strankovani pro soubory vyhledavani.php a katalog.php. Strankovani se nachazi v souboru strankovani.php. Predem diky.
Casero
Profil
Honzicek76
třeba funkcí, ketrou njen vždy zavoláš...jiank nefím, jak ..
Honzicek76
Profil *
Casero

A nevis nahodou, jak by tak funkce mela vypadat? Ja mam v hlave uplny okno :o(
Casero
Profil
Honzicek76
no tak jestli by teda byli všude stejný, tak asi jen že by se vždycky vložili názvy tabulek, s kterých se má čerpat, nebo s ketrýma s ebude pracovat, a nevím...nevím co máš za stránkování, a co by bylo potřeba měnit na každé z těch stran.
gaminn
Profil *
function navigation($aktualniStranka, $celkemZaznamu, $jednaStranka = 10) {
................
}

Nevidím v tom jediný zádrhel.
Honzicek76
Profil *
Casero

Dotaz pro soubor strankovani.php

$do = 1;
$kategorie=$_REQUEST['kategorie'];

$dotaz = mysql_query("select count(*)as pocet from zaznamy WHERE kategorie=$kategorie") or die(mysql_error());
$vysledek = mysql_fetch_array($dotaz);
$pocet = $vysledek["pocet"];
$stranky = ceil($pocet/$do);

// zjistim pocet zaznamu a limit $od, $do

Dotaz pro soubor katalog.php

$zobraz=mysql_query("select * from zaznamy WHERE kategorie=$kategorie order by name limit $od, $do") or die(mysql_error());

<?php while ($row = mysql_fetch_array($zobraz)): ?>
.
.
.
.
<?php endwhile; ?>

Dotazy pro soubor vyhledavani.php

$name = $_GET['name'];
$category = $_GET['category'];

$result = "SELECT * from zaznamy WHERE (name LIKE '%$name%') AND (category LIKE '%$category%')" or die(mysql_error());
$zobrazit = mysql_query($result);
$delka = mysql_num_rows($zobrazit);


Jo a soubor strankovani.php vkladam <? require "strankovani.php"; ?> do souboru katalog a vyhledavani. Strankovani v souboru katalog funguje, ale nevim, jak dat strankovani do souboru pro vyhledavani.
Honzicek76
Profil *
gaminn

Ale ja v tom zadrhel vidim, protoze nevim, jak napsat tu funkci. :o(
gaminn
Profil *
Honzicek76

Prostě si napiš stránkování jako bys to dělal pro jedinou stránku a vlož jej do té funkce, kterou jsem napsal (samozřejmě s takovými názvy proměnných, aby seděli parametry funkce). Pokud nedokážeš stránkování vůbec napsat (což je mimochodem pouze otázka matematických znalostí na úrovni 3. třídy ZŠ), tak se mrkni po netu nebo zde na fóru, dnes se to tu řešilo.

Jinak připomínka k sql dotazům: .............limit $od, $do.......... - to je nesmysl, klauzule limit má podobu "limit od, délka", popř. "LIMIT délka".
Honzicek76
Profil *
gaminn

Sem z toho vazne blbej :o( Jinak strankovani mam napsane a funguje bez problemu, ale proste ted nedokazu udelat to stejne strankovani pro vyhledavani, proste kdyby jsi mi ted rekl, ze sem blbej, tak Ti na to kyvnu. :o)

Vsak ano, ja vim, $do=1 byl pouze test, patri $do=40.
gaminn
Profil *
Honzicek76
Zřejmě jde jen o přechodnou indispozici;)

Nepochopil jsi to, co jsem říkal o klauzuli limit - pokud jsou uvedeny oba parametry té klauzule - např. limit 5, 10 - tak ta čísla nevymezují žádný (polo) otevřený/uzavřený interval (5, 10), ale první parametr (5) vyjadřuje, od jakého záznamu začne výběr (to máš nazvané správně), a druhý parametr (10) vyjadřuje počet vybraných záznamů (ne DO jakého záznamu se výběr provede). V tomto případě se tedy vybere 10 záznamů počinaje od 5., nikoliv 5. až 10. záznam.

S tím stránkováním jinak nevím, jak ti víc poradit, snad jen, abyses pořádně vyspal a zítra to zkusil znova. Není zde co řešit. Snad ještě:

function navigation($aktualniStranka, $celkemZaznamu, $jednaStranka = 10) {
// zde bude kód, který vypíše stránkování, tedy ten samý kód, jaký používáš teď - jen je potřeba jej upravit, aby fungoval s proměnnými $aktualniStranka, $celkemZaznamu a $jednaStranka
}


Tam, kde budeš chtít vypsat to stránkování, jen zavoláš funkci navigation s potřebnými parametry, tedy např. navigation(2, 42); (třetí parametr, pokud jej neuvedeš, bude automaticky doplněn 10) by mělo vypsat něco jako:

1 2 3 4 5
Honzicek76
Profil *
gaminn

Mas pravdu nepochopil, jdu radeji spat nez z toho uplne zblbnu. Ale jinak Ti moc dekuji za pomoc, ktera mne vazne nasmerovala spravnym smerem, ale proste se ted muzu rozkrajet a neprijdu na to, co mi chces tim rict, ale zitra to uz bude lepsi. Jeste jednou dekuji.
Toto téma je uzamčeno. Odpověď nelze zaslat.