Autor Zpráva
MartinB
Profil
Zdravím, potřeboval bych poradit. Jak vytvořit slovník, kde budou písmena A, B, C....Z a při kliknutí se zobrazí slova týkající se tohoto písmena. Nechci vytvářet samostatný html slovník ke každému písmenu, ani bych to nechtěl řešit záložkama. Chtěl bych mít jeden soubor (html, xml, ...) se slovíčky, které budou vždy abecedně třízeny. Př. pří kliknutí na A se zobrazí všechna slova na A, při kliknutí na B se písmena A schovají a zobrazí se zase pouze písmena B.
Moc díky za tipy.
Joker
Profil
Pokud to s tím myslíte opravdu vážně, udělejte to přes databázi a skript na straně serveru
Casero
Profil
MartinB
přesně jak říká Joker, je na to lepší php, než pouze html...takže po kli nutí třeba na A se vybere z db všekco co začíná na A (like 'A%')
Anonymní
Profil *
díky za rady ale zase tak dobrej nejsem. Nemůžete to uvést na nějakém příkladu. Kousek zdrojáku někde nemáte? Nebo nevíte, kde by byl nějaký příklad uveden?
Joker
Profil
To dost záleží na tom, jak konkrétně má ten slovník vypadat.
Ale v primitivní formě můžete mít tabulku například:
id_slovo | slovo
1 | Anakonda
2 | Zebra

Pokud to má být výkladový slovník, tak něco jako:
id_slovo | slovo | vyklad
1 | Anakonda | Velký had
2 | Zebra | Pruhovaný kůň :o)))

No a pak máte třeba slovnik.php:
*HTML hlavička, začátek stránky,...*
<?php
$pismeno = $_GET["pismeno"]{0}; //vyberu jen prvni znak
$vysledek = mysql_query("SELECT slovo, vyklad FROM slovnik WHERE slovo LIKE '$pismeno%' ORDER BY slovo ASC");
if(!$vysledek) die("Chyba komunikace s db: ".mysql_error());
while($zaznam = mysql_fetch_array($vysledek)){
echo('<p class="slovnik_heslo"><strong>'.$zaznam["slovo"].'</strong> - <span class="slovnik_vyklad">'.$zaznam["vyklad"].'</span></p>');
}
?>
*HTML dokončení stránky*

Samozřejmě jako obvykle neručím za případné chyby v kódu, vymýšlel jsem to na fleku.

edit:
Zapomněl jsem tohle: stránku voláte například:
slovnik.php?pismeno=a

Přitom stránka slovnik.php (bez ničeho) by zobrazila všechna slova ve slovníku.
Jo, ještě by to chtělo vyřešit velká/malá písmena, asi takhle:
$vysledek = mysql_query("SELECT slovo, vyklad FROM slovnik WHERE slovo LIKE '".str_tolower($pismeno)."%' OR slovo LIKE '".str_toupper($pismeno)."%' ORDER BY slovo ASC");
tenhle dotaz vybere slova začínající na A i na a.
Toto téma je uzamčeno. Odpověď nelze zaslat.