Autor | Zpráva | ||
---|---|---|---|
Dejvik Profil * |
#1 · Zasláno: 14. 5. 2008, 17:32:57
Dobry den,
narazil jsem na problem se kterym si nevim rady... Jedna se o to, ze si z databaze vypisu do selectu ruzne udaje, ktere se muzou, ale nemusi editovat. Pokud udaje v selectu zmenim neni probelm. Ovsem probelm nastava v pripade, ze DRUHY select nezmenim. V tom pripade se promenna $_POST[ 'edit_kraj' ] (zmena v prvnim select boxu na to nema vliv). Zkousel jsem pridat dalsi select boxy a kdyz nedojde ke zmene vzdy se posle jen prvni... Moc diky za rady, tady je kod: echo '<form action="zpracuj.php'" method="post">'; $dotaz_spol = MySQL_Query("SELECT id_spol, zkratka_spol FROM typy_spol"); echo '<select name="edit_typ">'; while ($zaznam_spol = mysql_fetch_array ($dotaz_spol)) { if ($zaznam["typ_firmy"] == $zaznam_spol["id_spol"]) echo '<option selected value="'.$zaznam_spol["id_spol"].'">'.$zaznam_spol["zkratka_spol"]; else echo '<option value="'.$zaznam_spol["id_spol"].'">'.$zaznam_spol["zkratka_spol"]; } echo '</select>'; $dotaz_kraj = MySQL_Query("SELECT id_kraje, nazev_kraje FROM kraje"); echo '<select name="edit_kraj">'; while ($zaznam_kraj = mysql_fetch_array ($dotaz_kraj)) { if ($zaznam["kraj"] == $zaznam_kraj["id_kraje"]) echo '<option selected value="'.$zaznam_spol["id_kraje"].'">'.$zaznam_kraj["nazev_kraje"]; else echo '<option value="'.$zaznam_kraj["id_kraje"].'">'.$zaznam_kraj["nazev_kraje"]; } echo '</select>'; echo '</form>'; |
||
Dejvik Profil * |
#2 · Zasláno: 14. 5. 2008, 17:38:25
ja jsem tu vetu nedopsal:-)
V tom pripade se promenna $_POST[ 'edit_kraj' ] NEPOSLE |
||
peta Profil |
#3 · Zasláno: 15. 5. 2008, 08:20:19
Dejvik
Priste to zkus popsat srozumitelne, krok za krokem, s odkazem na stranku. 1. pro vypis selectu si udelam funkci. 2. Pokud chces menit obsah vygenerovane HTML stranky, je treba ji odeslat serveru ke zpracovani. A to bud tlacitkem nebo nekterou JS Ajax metodou. Chapej, www prohlizec neumi zpracovat php a nema pristup k udajum z jinych pocitacu. Kdyz ty vybiras SELECT, delas to ve www prohlizeci na HTML strance, od ktere uz server a PHP generator jsou odriznuti. Cili si prohledni forum javascript, tam se na sdruzene selecty ptaji dost casto. 3. Pokud 2 neresi problem, tak jsem dotaz nepochopil. |
||
Dejvik Profil * |
#4 · Zasláno: 15. 5. 2008, 09:56:33
asi jsem to mel popsat srozumitelneji...OK.
1) Vygeneruji si html stranku, kde je formular, nejake input boxy a 2 select boxy. 2) Do hodnot techto input boxu vypisu udaje z db a jako oznaceny prvek v select boxu pouziju ciselny udaj rovnez ulozeny v db. 3) Nyni se obsah inout boxu a select boxu muze menit. O input boxy mi nejde, s nima problem nemam. 4) Zmenim napr., nektere input boxy a prvni select box, druhy select box necham beze zmeny. 4) Tyto udaje formulare odeslu ke zrpracovani dalsim souborem. Zde bych mel mit v poli $_POST udaje z formulare. Vsechny tam jsou az na vyse zminenou z druheho select boxu, ta je prazdna i kdyz by v ni mela byt poslana hodnota. 5) Udaji z formulare prepisu hodnhoty v db, jenze pokud pokud nebyla poslana hodnota z druheho select boxu, nebude ulozena zadna hodnota. Tohle yb slo samozrejme vyresit tak, ze ve zpracovani formulare zjistim, zda byla tato hodnota zmenena a pokud ne, tak hodnotu prepisovat nebudu, ale spis me zajima proc to nejde.. Odkaz vam bohuzel neposlu, protoze to mam zatim u sebe na localhostu i kdyz by to bylo pro nazornost asi lepsi... No pokud to bue nutne tak to nekam nauploaduju |
||
Dejvik Profil * |
#5 · Zasláno: 15. 5. 2008, 12:52:43
Omlouvam se, ale jiz jsem prisel na chybu.. Byla to naprosto banalni chyba pouzitim spatneho udaje z databaze.. Hledal jsem chybu tam kde vubec neni :-)
|
||
peta Profil |
#6 · Zasláno: 16. 5. 2008, 15:41:14
Aha, tady jsem to nerekl, tak vsude rikam:
soubor.php soubor.php.txt tyhle 2 odkazy v mnohem usnadni problem s hledanim. Jak to popisujes, stacilo si prohlednout vygenerovane HTML a zjistim, ze tam neco neni. jinak je dobre zapnout si zobrazovani PHP chyb cz.php.net/error_reporting a umet vypsat chyby v mysql, pokud nastanou $dotaz = "..."; $x = mysql_query($dotaz) or die($dotaz.'<hr>'.mysql_error()); |
||
Časová prodleva: 3 dny
|
|||
Dejvik Profil * |
#7 · Zasláno: 19. 5. 2008, 07:53:32
OK, diky za rady, na tohle jsem vubec nepomyslel a bude to urcite ucinne!
|
||
Časová prodleva: 16 let
|
0