ugrás a tartalomhoz

PHP - Javascript kommunikáció

Anonymous · 2004. Jún. 19. (Szo), 17.33
Tudna-e valaki nekem segíteni abban, hogyha egy Select optionjait mysql adatbázisból olvasom ki php-vel és azt szeretném, hogy a következő Select-em optionjainak a kiírása (szintén mysql-ből) attól függne, hogy mit választott ki felhasználó az első selectnél. Próbálkoztam javascriptet vegyiteni php-vel, de végül belezavarodtam.

Köszi
Ági
 
1

Js vagy PHP - nem mindegy

Thom · 2004. Jún. 19. (Szo), 18.30
Pl. ilyet akarsz?
1.választás: ország (egyik, másik...)
2.választás: megye (egyik_ország_megyéi, másik_ország_megyéi...)
...és mindig a kiválasztott ország megyéi legyenek a 2. select mezőiben.

- Ezt nem php és javascript keverésével lehet megoldani - ne felejtsük el, hogy mindkettő máshol fut, tehát nem lehet őket így összevegyíteni - hanem tiszta javascripttel. Működő példát innen másolhatsz ki:
http://www.thomas98.hu/webmuhely.php?kat=js&page=menu&file=514
Itt persze az összes lehetséges 2.választás adatait el kell küldeni a lappal.
Másik megoldás, ha az 1.választás után új oldalt töltesz be, amiben a megfelelő 2.választási opciók vannak. Ehhez már több köze lehet a php-nek.

Üdv: Thom
[ThomasWebMűhely] [ThomasPortál]
3

Js vagy PHP

Anonymous · 2004. Jún. 19. (Szo), 20.50
Köszönöm a gyors válaszokat és végső megoldásnak tartom, hogy új oldalt nyitok a második select-nek. De lehetőleg ugyanazon oldalon szeretném megjelentetni. Köszönöm a példát, a sima javascriptes megoldást én is ismertem. Ha jól értem Thom tanácsát, az első megoldáshoz betöltéskor ki kell keresnem az adatbázisból a lehetőségeket, egy-egy tömbben eltárolni, de én csak a php adatbáziskezelését ismerem, tehát csak php tömböt tudok létrehozni. Javascriptnél nem ismerek adatbázis olvasási lehetőséget. A php-s tömböt, hogyan ismerheti fel a későbbi javascript program?

Üdv
Ági
5

adatbazis javascriptbe

zsepi · 2004. Jún. 20. (V), 01.02
agi,
javascripttel nem fogsz tudni adatbazishoz kapcsolodni. nem erre talaltak ki. amit thomas, meg en is mondtunk, az a kovetkezo:
<?
# olvasd ki az adatot az adatbazisbol, tarold el az opciok tombben (opcio ertek => megjelenitett szoveg)
echo "<script language=\"javascript\"><!--\n";
echo "var select_tomb = new Array(\n";
foreach($opciok as $ertek => $szoveg)
  echo new Array("'$ertek'", "'#szoveg'"),
echo ", '');\n";
echo "//--></script>\n";
?>
s maris ott az osszes adat a javascript tombben
6

adatbazis javascriptbe

Anonymous · 2004. Jún. 20. (V), 16.15
Kedves Zsepi!

Köszönöm a példa programot.

Az előző javaslatod alapján oldottam meg a feladatot, mely szerint az elso select onchange esemenykezelőjere módosítottam a window.location-t, hogy valami GET parameter tartalmazza a kivalasztott kategóriát. Majd az újratöltödő lapon azt használtam az sql parancsodban a második select generálásához.

Ez így tökéletesen működik Explorer alatt, de mi a baj a Netscape-pel? A Netscape mindig visszaugrik az újratöltés után a kezdő értékekhez. Lehet ezen segíteni, vagy a most megadott programötletet alkalmazzam inkább?

Üdv
Ági
7

pelda kod

zsepi · 2004. Jún. 20. (V), 20.14
Agi,
tedd fel valahova a peldakodot, mert latatlanban csak altalanossagokat tudunk mondani.
8

pelda kod

Anonymous · 2004. Jún. 20. (V), 23.54
Kedves Zsepi!

Közben rájöttem a hibára.
Rosszul olvastam ki a kiválasztott opció értékét:

document.formnev.selectnev.options.value

Az explorer ezt elfogadja, de a netscape nem értelmezte. Így a következőképpen módosítottam:

document.formnev.selectnev.value

Ezt már a netscape is elfogadta és szerencsére az explorer is.

Üdv
Ági
2

ket otlet

zsepi · 2004. Jún. 19. (Szo), 18.31
megoldasok

1) az elso select onchange esemenykezelojere modositod a window.location-t, hogy valami GET parameter tartalmazza a kivalasztott kategoriat. igy az ujratoltodo lapon azt hasznalhatod az sql parancsodban a masodik select generalasahoz.

2) az oldal tartalmazza az osszes infot javascriptben. azaz: generalj ket javascript tombot dinamikusan a lapodba, az egyikben tartanad az elso select value/nev parosait, a masodik tombben pedig az elso_select_value / masodik_select_value / nev harmasokat. a select kezelo fuggvenynek csak le kell cserelni a masodik select tartalmat az elso erteketol fuggoen.
4

ket otlet

Anonymous · 2004. Jún. 19. (Szo), 21.53
Kedves Zsepi!

Köszönöm a két ötleted. Végülis az elsőt felhasználva készítettem el az weblapot.

Üdv.
Ági
9

Re: PHP - Javascript kommunikáció

T.G · 2004. Jún. 21. (H), 10.44
Körülbelül egy hónapja küldte be valaki ezt a linket, szerintem érdemes ezt is megnézni: http://weblabor.hu/linkek/2102