[AJAX] Affichage d'une donnée dynamiquement
Bonjour à tous,
Je fais mes premiers pas en Javascript depuis quelques semaines et en Ajax depuis quelques jours.
Je cherche actuellement à afficher dans un formulaire des données dynamiquement mais je n'y arrive pas.
Voici la table que je dois interroger.
Code:
1 2 3 4 5 6 7 8
|
CREATE TABLE voyage(
Num_Voyage SMALLINT unsigned NOT NULL auto_increment,
DateArriv date,
DateDepar date,
Num_Pers SMALLINT UNSIGNED NOT NULL,
PRIMARY KEY (`Num_Voyage`),
FOREIGN KEY (`Num_Pers`) REFERENCES personnes(`Num_Pers`) ON DELETE CASCADE); |
le code html :
Code:
1 2 3 4 5 6 7 8
|
<table><tr><td>
<label>Séjour : </label>
<select name="responsable" id='responsable' onchange="go();" ><?php (isset($tableauR)) ? responsable($tableauR): responsable('-1');?></select>
</td><td>
<input type="button" onclick="affCache('div1');affCache('div2');" value="Ajouter Responsable"/></td></tr>
<tr><td><label>Séjour du</label> :</td><td><label name='date1'></label> </td><td><label> au </label>: </td><td></td><tr>
</table> |
le code javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
function go(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
ladate = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('date1').innerHTML = ladate;
}
}
xhr.open("POST","oAjax.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
resp = document.getElementById('responsable');
idresp = resp.options[resp.selectedIndex].value;
xhr.send("responsable"+idresp);
} |
et enfin le code Php :
Code:
1 2 3 4 5 6 7 8 9 10
| include connect.php
$query = 'SELECT * FROM voyage Where Num_Pers=".$_POST["responsable"]." ';
if ($result = mysqli_query($link, $query)){
$tab = mysqli_fetch_assoc($result);
echo "<label name='date1'>$tab[DateArriv]</label>";
/* Libération du jeu de résultats */
mysqli_free_result($result);
} |
J'ai essayé de bricoler un truc qui ressemble à ce que j'ai compris des différents tutos que j'ai lu d'Ajax.
Je cherche juste à afficher dynamiquement les dates de séjour correspondant au responsable sélectionné dans le select.
Merci d'avance