Autor | Zpráva | ||
---|---|---|---|
joj Profil * |
#1 · Zasláno: 4. 4. 2006, 15:14:45
Už dlhšie pátram po návode ako triediť dáta z DB pomocou <option> a <selectu>. To znamená že mám formulár, kde <select> obsahuje určité kritéria, podľa ktorých by som chcel triediť dáta z tabuľky. Napr. vyberiem "šport" a vypíše mi to záznamy s kritériom šport. Poradí prosím niekto? DB MySQL
|
||
roberta Profil |
#2 · Zasláno: 4. 4. 2006, 15:24:14 · Upravil/a: roberta
dá sa to napr. tak, že na udalosť onchange toho selectu submitneš formulár (action dáš tú istú stránku, ako je ten formulár) a v GET/POST premenných budeš mať ID toho športu. a nakoniec upravíš querystring, aby ti vybral záznamy, ktoré majú ID športu
|
||
WanTo Profil |
#3 · Zasláno: 4. 4. 2006, 15:29:02 · Upravil/a: WanTo
Třeba:
$vysledek = @mysql_query("select * from tabulka where kriterium like '" . $_GET["kriterium"] . "'"); //$kriterium je třeba sport |
||
joj Profil * |
#4 · Zasláno: 4. 4. 2006, 15:34:16
Ďakujem za odpoveď. Prosím poraď mi nejaký jednoduchý príklad ako by to malo vyzerať.
Takže mám dokument zobraz.php V ňom formulár: <form method="post" action="zobraz.php"> <select name="kategoria"> <option value="...................."></option> </select> <input type="submit" name="odoslať" value="Zobraz výber"> </form> Kód PHP..........prosím poraď |
||
WanTo Profil |
#5 · Zasláno: 4. 4. 2006, 15:37:55
Kód PHP..........prosím poraď
Jak hodně umíš s PHP? |
||
joj Profil * |
#6 · Zasláno: 4. 4. 2006, 15:43:20
No len sa učím a toto sú práve veci, ktorým chcem porozumieť. Neviem toho veľa. Jednoduché veci ako uložiť dáta do DB, zobrazenie podľa kritérii, formuláre... Všetko je to viac menej spracované z kníh a nejakých on-line návodov. Keď mám urobiť niečo zložitejšie, kde neviem presný postup, tak to je už ťažšie :-(.
|
||
WanTo Profil |
#7 · Zasláno: 4. 4. 2006, 15:46:20
joj
Ten PHP kód bude prakticky stejný jako ten, co ho používáš na jednoduché select dotazy. Akorát jako dotaz použiješ něco podobného, co jsem napsal. |
||
joj Profil * |
#8 · Zasláno: 4. 4. 2006, 15:47:37
Idem sa s tým pohrať. Zatiaľ dík za rady.
|
||
roberta Profil |
#9 · Zasláno: 4. 4. 2006, 15:52:08
<form method="post" action="zobraz.php" name="meno_fomulara">
<select name="kategoria" onchange="meno_fomulara.action='zobraz.php';meno_fomulara.submit();"> <option value="...................."></option> </select> <input type="submit" name="odoslať" value="Zobraz výber"> </form> <? if (strlen($_POST['kategoria'])>0) { //vypis iba tie zaznamy, ktore su z kategorie $_POST['kategoria'] } else { //vypis vsetky zaznamy } ?> |
||
joj Profil * |
#10 · Zasláno: 4. 4. 2006, 18:32:33
Nemôžete to ešte upresniť. Neviem, ako mám vyriešiť výber dát z DB. Ďakujem
|
||
joj Profil * |
#11 · Zasláno: 4. 4. 2006, 21:47:15
Tak nakoniec som to nejako urobil. Pomohli ste mi to pochopiť a teraz mám v tom už celkom jasno. Urobil som aj option ktorý si ťahá kategórie z databázy, takže nedôjde k načítaniu prázdnych resp. neaktuálnych záznamov. Ešte raz Ďakujem.
echo '<form method="post" action="pokus.php" name="pokus"> <select name="kategoria_zaradenia"> <option value="">Veberte kategóriu:</option>'; $zaznam = 'select kategoria_zaradenia from inzerat group by kategoria_zaradenia asc'; $vysledok = mysql_query ($zaznam); while ($riadok = mysql_fetch_array ($vysledok, MYSQL_NUM)) { echo '<option value="', $riadok[0], '">', stripslashes($riadok[0]), '</option>'; } echo '</select> <input type="submit" name="odoslať" value="Zobraz inzeráty"> </form><p> </p>'; if (strlen($_POST['kategoria_zaradenia'])>0) { $vysledok = @mysql_query("select * from inzerat where kategoria_zaradenia like '" . $_POST["kategoria_zaradenia"] . "'"); while ($zaznam = mysql_fetch_array ($vysledok)) echo '<div class="inzerat_ramcek"><span class="inzerat">Názov inzerátu: </span>'.$zaznam["nazov_inzeratu"]."<br /> <span class=\"inzerat\">Kontakt: </span>".$zaznam["kontakt"]."<br /> <span class=\"inzerat\">Text: </span>".$zaznam["text"]."</span><br /> <span class=\"inzerat\">Dátum pridania: </span>".$zaznam["datum"]."</span><br /></div>\n"; } else { $vysledok = @mysql_query("select * from inzerat"); while ($zaznam = mysql_fetch_array ($vysledok)) echo '<div class="inzerat_ramcek"><span class="inzerat">Názov inzerátu: </span>'.$zaznam["nazov_inzeratu"]."<br /> <span class=\"inzerat\">Kontakt: </span>".$zaznam["kontakt"]."<br /> <span class=\"inzerat\">Text: </span>".$zaznam["text"]."</span><br /> <span class=\"inzerat\">Dátum pridania: </span>".$zaznam["datum"]."</span><br /></div>\n"; } |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0