Witam.
Mam następujący formularz:
echo "<tr><td>Lekarz wykonujący:</td><td>"; include('lekarze.php');
echo "<tr><td>Badanie usg:</td><td>";
echo "<select name=\"bad\"onchange=\"ajaxFunction()\" id=\"id_usg\">"; echo "<option value =\"$mid\">----wybierz badanie------</option>"; $sql2= "select id_usg, substring(bad_usg, 4) as bad_usg from usg order by 2";
$rez2= mysqli_query($mysqli, $sql2);
while ($nowaTab=mysqli_fetch_array($rez2, MYSQLI_ASSOC))
{
$mid = intval($nowaTab['id_usg']); $badanie=$nowaTab['bad_usg'];
//podaje razem z numerem id usg. Bez tego nie dziala
echo"<option value=\"".$mid."\">".$badanie."</option>"; }
<tr><td>Opis Badania:</td><td>
<div id='ajaxDiv'></div>
</td></tr>
<table>";
?>
I teraz chciałbym, żeby ajax Div był różny w zależności od wybanej opcji z fukcji lekarz.
plik ajax wygląda następująco. Od razu mówię, ze ajaxem jakoś specjalnie się nie zajmowałem, tylko znalazłem w necie instrukcję jak się do tego dobrać.
function ajaxFunction(){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
} catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('ajaxDiv');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
var mid = document.getElementById('id_usg').value;
var queryString = "?id_usg=" + mid;
ajaxRequest.open("GET", "opis_usg.php" + queryString, true);
ajaxRequest.send(null);
}
Pytanie z pliku opis_usg może wyglądać następująco:
$sql2= "select id_usg, def, def2 from usg where id_usg= ".$mid;
$rez2= mysqli_query($mysqli, $sql2);
while ($nowaTab=mysqli_fetch_array($rez2, MYSQLI_ASSOC))
{
$mid = intval($nowaTab['id_usg']); $def=$nowaTab['def'];
//podaje razem z numerem id usg. Bez tego nie dziala
}
<textarea name=\"opis\" id=\"bad\" cols=\"60\" rows=\"15\">$def</textarea><br/>";
W sumie pytanie sprowadza się do tego czy w zależności od wybranego lekarza ajax wyświetlałby zawartość kolumny def bądź def2