PHP + AJAX: Régiókiválasztás alapján munkakör kilistázása

PHP + AJAX: Régiókiválasztás alapján munkakör kilistázása
2014-01-05T19:07:47+01:00
2014-01-05T19:49:50+01:00
2022-11-30T07:41:49+01:00
BIG W
Üdv.

A problémám a következő:

Van két select control-om, az egyik a régiót listázza, a másik a munkakört, az utóbbi akkor listázódik ki, ha a régió kiválasztásával ellenőrzöm mely munkakörök érhetőek el az adott régióban.
tesztelés során belefutottam egy olyan hibába, hogyha olyan régiót választok, ahol nincs munkakör hozzákötve, ilyenkor "Nincs találat!" felirattal jelzi, és ha ezután kiválasztok egy olyat, ahol meg van, akkor is "Nincs találat!" felirattal ugrik elő. Mi lehet a gond? Csatolom a forráskódot:
HTML+PHP a régió kilistázásához:

<select id='regioSelect'> <option value='Válasszon régiót!' id='0'>Válasszon régiót!</option> <?php include_once('connect.php'); $sql=mysql_query('SET NAMES UTF8'); $sql=mysql_query('SELECT ID, regio FROM regiok'); if(mysql_num_rows($sql)!=0){ while($rows=mysql_fetch_assoc($sql)){ $ID=$rows['ID']; $regio=$rows['regio']; echo"<option id='$ID'>$regio</option>"; } } ?>
HTML a munkakör selecthez:
<select id='munkakorSelect' disabled> </select>
AJAX kérés JQUERY-vel együtt:

var munkakorstr = ""; $("#regioSelect").change(function(){ $("#regioSelect option:selected").each(function() { regiostr += $(this).attr('id'); }); var xmlHttp=new XMLHttpRequest(); var munkakorkereso="munkakorkereso.php"; var vars="ID="+regiostr; xmlHttp.open("POST",munkakorkereso,true); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4 && xmlHttp.status==200){ var return_data=xmlHttp.responseText; document.getElementById('munkakorSelect').disabled = false; document.getElementById('munkakorSelect').innerHTML=return_data; }else{ document.getElementById('munkakorSelect').innerHTML="Töltődik..."; } } xmlHttp.send(vars); });
munkakorkereso.php PHP+MySQL lekérdezés:

<?php if (isset($_POST['ID'])){ $ID=$_POST['ID']; include_once('connect.php'); $sql=mysql_query('SET NAMES UTF8'); $sql=mysql_query('SELECT DISTINCT m.ID, m.Munkakor FROM munkakor m, partnerregiomunkakor prm, regiok r WHERE r.ID='.$ID.' AND prm.RegioID=r.ID AND m.ID=prm.MunkakorID'); if (mysql_num_rows($sql)!=0){ echo "Válasszon munkakört!"; while($rows=mysql_fetch_assoc($sql)){ $ID=$rows['ID']; $Munkakor=$rows['Munkakor']; echo "<option id='$ID'>$Munkakor</option>"; } }else{ echo "<option>Nincs találat!</option>"; } } ?>
Mutasd a teljes hozzászólást!
Nincs hiba kezelésed, biztos, hogy ad vissza értéket?

Esetleg hibára fut és a row érték nulla lesz.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd