Autor | Zpráva | ||
---|---|---|---|
special_mj Profil |
#1 · Zasláno: 6. 9. 2013, 13:00:19
Ahoj, mám jednu otázočku ohladom skolskeho projektu:
mám select menu, v ktorom mám hodnoty vytiahnuté z DB. Po submite sa mi načíta stránka zadanyukol.php kde sa mi má vybraná hodnota zobraziť. Viete mi poradiť akým spôsbom zobraziť vybranú položku? V zadany ukol proste potrebujem na vystupe dve hodnoty - tu z o select menu (zatial nemam) a tu z input-u (tu mam). Dakujem za rady. zadejukol.php: <form action="zadany.php" method="get"> <label for="select"> Komu zadat novej úkol: <select id="users"> <?php $sql = "SELECT * FROM users"; $result = mysql_query($sql) or die (mysql_error()); while ($row = mysql_fetch_array($result)) { $id=$row["id"]; $username=$row["username"]; $options.="<OPTION VALUE=\"$id\">".$username; } ?> <option> <? echo $options ?> </option> </select> <br /> Typ úkolu: <input type="radio" name="ukol" value="bla1">Ukol 1</input> <input type="radio" name="ukol" value="bla2">Ukol 2</input> <input type="radio" name="ukol" value="bla3">Ukol 3</input> <br /> <input type="submit" value="zadej úkol"> </form> a potrebujem to dostať sem(udaje z input type su v pohode, tie mi idú): zadanyukol.php <?php include 'core/init.php'; protect_page(); include 'includes/overall/header.php'; echo $_GET['users']; switch ($_GET["ukol"]) { case "bla1": echo 'ukol 1'; break; case "bla2"; echo 'ukol 2'; break; case "bla3": echo 'ukol 3'; break; default: echo 'nezadany ziadny ukol'; } include 'includes/overall/footer.php'; ?> |
||
Kajman Profil |
#2 · Zasláno: 6. 9. 2013, 13:03:32
do
<select id="users"> si přidejte atribut name. Ten pak bude také v poli $_GET.
|
||
special_mj Profil |
#3 · Zasláno: 6. 9. 2013, 13:08:15
Ďakujem, ale stale mi to nezobrazuje želanu hodnotu. V zadanyukol.php to skusam volat len jednoducho
echo $_GET['users']; no vracia mi to len hodnotu pre <input>
|
||
Kajman Profil |
#4 · Zasláno: 6. 9. 2013, 13:19:47
A máte tam to name?
<select id="users" name="users"> |
||
special_mj Profil |
#5 · Zasláno: 6. 9. 2013, 19:22:26
ano, samozrejme je to tam... čo by bolo optimálne spraviť podľa Vás?
|
||
han5vk Profil |
Máš niečo v
<option value="?" atribúte? Čo vypíše var_dump($_GET)?
|
||
special_mj Profil |
nie, ten je prazdny.
... $options.="<OPTION VALUE=\"$id\">".$username; ... <option> <? echo $options ?> </option> |
||
han5vk Profil |
Je to nejaké divné. Vypisuješ celý option tag do ďalšieho option tagu. Čo to robí, keď to napíšeš takto:
<option value="<? echo $id; ?>"> <? echo $username; ?> </option> ? Samozrejme, keď tak pozerám na tvoj kód, tie optiony vypisuj v tom php cykle while(): while ($row = mysql_fetch_array($result)) { $id=$row["id"]; $username=$row["username"]; echo "<option value='".$id."'>".$username."</option>"; } Prípadne, keď to chceš vypisovať až potom, tak to neuzatváraj do ďalšieho tagu <option> , a nastav id ako som napísal v prvom kóde. Malo by to fungovať.
|
||
special_mj Profil |
nie sú tam žiadne hodnoty.
čo odporúčaš teda? |
||
han5vk Profil |
#10 · Zasláno: 6. 9. 2013, 20:26:01
Kde nie sú hodnoty?
|
||
special_mj Profil |
#11 · Zasláno: 6. 9. 2013, 20:27:09
cely kod mam je v prvom poste. nič som tam nemenil, pozri, prosím ťa, tam.
|
||
han5vk Profil |
#12 · Zasláno: 6. 9. 2013, 21:06:17
Keď to máš presne ako v prvom poste, tak to ani nemôže fungovať, lebo tam select nemá name. Čo ti vypíše var_dump($_GET) po odoslaní formulára?
|
||
special_mj Profil |
array(1) { ["users"]=> string(0) "" }
som v tom kus novačik, takže sa ospravedlnujem, ak napíšem niečo odveci :) upravil som to na : <select name="users"> a vysledok je rovnaky.
|
||
Kajman Profil |
#14 · Zasláno: 6. 9. 2013, 21:21:39
special_mj:
A co to vypíše, když vyberete nějakého uživatele? |
||
special_mj Profil |
#15 · Zasláno: 6. 9. 2013, 21:25:41
zo select menu nevypíše žiadnu hodnotu, resp. echo nevypíše vybraného user-a. čo tam mám druhé menu -
<input type="radio"> to mi vracia echo tak ako má.
|
||
han5vk Profil |
Opravil si si tie optiony, ako som ti písal v [#8]? Pretože do GET sa to očividne odosiela, čiže máš nastavené name pre select, ale neodošle sa hodnota. To $id čo nastavuješ pre value je zadané? Skús si na vygenerovanej stránke so selectom pozrieť zdroják. Ak v option value nebude nič, tak je premenná $id prázdna, a chyba je tam.
|
||
special_mj Profil |
#17 · Zasláno: 6. 9. 2013, 21:50:43
Presne! a zistil som, že som pekný KÔŇ....úplne primitívna chyba tam bola. Ďakujem Vám za pomoc, veľmi ste mi pomohli. Vážim si to.
|
||
Časová prodleva: 11 let
|
0