Autor | Zpráva | ||
---|---|---|---|
RPG Profil |
#1 · Zasláno: 24. 5. 2008, 21:38:27 · Upravil/a: RPG
Ahoj všem,
byl bych rád, kdyby mi někdo dovedl pomoci s tímto problémem: Mějme v databázi tabulku se články, u každého článku zaznamenávejme kategorii a autora. Rád bych napsal takový SQL dotaz, abych mohl články podle kategorie i autora třídit; problém vzniká, když chci vypsat např. "všechny články uživatele Pepík", nebo naopak "všechny články z kategorie "Úvahy". V selectech mohu vybrat tyhle hodnoty (např.): Uživatel: vše honzík anička pepík Kategorie vše Úvahy Hovadiny Zelení sloni A pro takové kombinace neumím napsat SQL dotaz, který by pořadovaná data vybral. Zkoušel jsem něco jako: SELECT * FROM tabulka WHERE autor LIKE '$autor' AND kategorie LIKE '$kategorie'; S tím, že jsem hodnotu "vše", získanou ze selectu, nahradil pro dotaz znakem "%". Sice to funguje, ale připadá mi to jak neefektní, tak nepříliš bezpečné. Děkuju všem |
||
Taps Profil |
#2 · Zasláno: 24. 5. 2008, 21:47:27
RPG
hod jsem ty selecty které používáš |
||
Alphard Profil |
#3 · Zasláno: 24. 5. 2008, 21:50:21
like je v tomto případě k ničemu
stačí where autor = 'anička' když chceš vše, vůbec to tam nepiš |
||
RPG Profil |
#4 · Zasláno: 24. 5. 2008, 21:51:55 · Upravil/a: RPG
Tady je celý formulář:
<form action="" method="get"> Autor článku: <select name="autor"> <option value="vše">Vše</option> <option value="host">host</option> <option value="honza">honza</option> </select> Kategorie: <select name="kategorie"> <option value="vše">Vše</option> <option value="nezařazeno">nezařazeno</option> <option value="Poetické">Sklad</option> <option value="Dinosauři">Dinosauři</option> <option value="Teoretizování">Teoretizování</option> <option value="Hovadiny">Hovadiny</option> </select> <input type="submit" value="Filtruj"> Celkový počet článků: 9 </form> Doplněno: Alpharde, to je právě ono. Já tam to "vše" někdy potřebuji a někdy ne. |
||
Taps Profil |
#5 · Zasláno: 24. 5. 2008, 21:54:16
RPG
selecty..! tak použij podmínku if a proměnou kterou dáš do selectu |
||
TSD Profil |
#6 · Zasláno: 24. 5. 2008, 21:56:53
|
||
RPG Profil |
#7 · Zasláno: 24. 5. 2008, 22:05:52 · Upravil/a: RPG
Tapsi, "selecty" myslíš dotazy (dotaz)?
TSD, přečtu, děkuju za odkaz. Tohle vlákno jsem, žel, dříve nenašel. Doplněno: Takže jestli jsem to z odkázaného vlákna pochopil, stačí přijaté hodnoty vyhodnotit pomocí podmínek a z proměnných potom poskládat dotaz? |
||
TSD Profil |
#8 · Zasláno: 24. 5. 2008, 22:18:50
RPG
Prostě.. "SELECT něco FROM tabulka WHERE podmínky" skládáš a když je v daném selectu vybráno "vše", tak tam tu podmínku vůbec nedáš. |
||
RPG Profil |
#9 · Zasláno: 24. 5. 2008, 22:19:33
Takže jsem to pochopil dobře. Moc děkuju, TSD, i ostatním.
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0