Autor | Zpráva | ||
---|---|---|---|
stepanka Profil * |
#1 · Zasláno: 27. 8. 2009, 22:49:37
Ahoj,
prosím, nemohl by mi někdo poradit s jedním problémem? Mám ve formuláři obyčejný SELECT: echo 'Recyklační poplatek': </td><td><select name="id_poplatek" id="id_poplatek_cena" onchange="spocitejcenu_model('.__KURZ__.','.__KURZ_USD__.')">'; $result7 = mysql_query("SELECT text, id_poplatek, cena FROM recyklacni_poplatky WHERE aktivni='a' ORDER BY id_poplatek") or die(err(1)); echo '<option value="">Vyber</option>'; while ($row7 = mysql_fetch_array($result7)) { echo '<option'; if ($row7['id_poplatek']==$p_id_poplatek) echo ' selected="selected" '; echo ' value="'.$row7['cena'] PLUS $row7['id_poplatek'].'">'.$row7['text'].' - '.$row7['cena'].' </option>'; } echo '</select>'; A potřebovala bych mít ve VALUE jak ID, tak CENU. Cenu totiž musím mít ve VALUE každopádně, ale protože mám v databázi několik cen stejných, po uložení někdy nesedí ID. Proto bych tam potřebovala mít CENU, ale znát po odeslání také ID. Doufám, že mi trochu rozumíte... Vůbec si s tím nevím rady... Jde to nějak řešit? Děkuju moc. |
||
Kcko Profil |
#2 · Zasláno: 27. 8. 2009, 22:57:35
no odelis si to separatorem a pak na vystupu si to zpracujes.
Ja ve svem fotbalovem systemu mam ve value neco jako value="$tymID:$hracID:$soutezID:$sezonaID" ... a pak si to rozparsuju a naplnim nekde kde potrebuju ... |
||
SwimX Profil |
#3 · Zasláno: 27. 8. 2009, 23:02:41
stepanka:
Kcko: „a pak si to rozparsuju a naplnim nekde kde potrebuju ...“ $array = explode(':', $value); <select name="id_poplatek" id="id_poplatek_cena" id -> jedinečný identifikátor, máš tu dva, má to význam? |
||
stepanka Profil * |
#4 · Zasláno: 27. 8. 2009, 23:10:51
Děkuju moc za všechny reakce.
Možná jsem se nevyjádřila úplně přesně. Já bych při události onchange na SELECTu potřebovala vědět CENU, a po odeslání formuláře bych potřebovala vědět ID. Jak je v tom kódu ta část <select onchange="spocitejcenu_model('.__KURZ__.','.__KURZ_USD__.')"> var poplatek_cena = document.getElementById('id_poplatek_cena').value; A po odeslání formuláře ukládám do databáze ID. Nevím jak se z toho vyhrabat :( |
||
Aichi Profil |
#5 · Zasláno: 27. 8. 2009, 23:13:54
nejlepší je si do stránky vypsat ty option pouze s ID a jeste jednou si tam vypsat do JS pole s klicem ID a hodnotou CENA a na onchage delat neco jako
var cena = poleCen[selectBoxElm.value]; |
||
SwimX Profil |
#6 · Zasláno: 27. 8. 2009, 23:14:56
stepanka:
tak to udělej, jak radíme :) value optionů udělej value="$id#$cena" a v JS: var poplatek_cena = document.getElementById('id_poplatek_cena').value; poplatek_cena = poplatek_cena.split("#"); poplatek_cena = poplatek_cena[1]; a do DB $id = $_POST['option']; $id = split('#', $id); $id = $id[0]; |
||
stepanka Profil * |
#7 · Zasláno: 27. 8. 2009, 23:24:49
SwimX
Mockrát děkuju, ono to fakt funguje :-) Jsi zlatý člověk, díky! Aichi Tomu jsem úplně až tak neporozuměla, ale i tak děkuju za reakci. |
||
SwimX Profil |
#8 · Zasláno: 27. 8. 2009, 23:26:06
stepanka:
Není za co :) |
||
SwimX Profil |
#9 · Zasláno: 27. 8. 2009, 23:41:55 · Upravil/a: SwimX
stepanka
Aichi asi myslel něco takovéhoto: <?php $r = mysql_query("SELECT cena, id FROM table"); while($row = mysql_fetch_assoc($r)){ echo "<option value=$row[id]>"; $js .= "pole[$row[id]] = '$row[cena]';"; } echo "<script> function spocitejcenu_model(){ var pole = new array(); $js; var poplatek_cena = pole[document.getElementById('id_poplatek_cena').value]; } </script>"; ?> a do DB by pak šlo už jen $_POST['option'] |
||
stepanka Profil * |
#10 · Zasláno: 28. 8. 2009, 00:26:17
SwimX
To řešení se mi moc nelíbí, ta moje funkce spocitejcenu_model() má 180 řádků a je ve vedlejším souboru. To Tvé je lepší a jednodušší :-) |
||
Časová prodleva: 15 let
|
0