AJAX - Problème récupération des valeurs
Posté : 26 juil. 2008, 12:13
Bonjour à tous,
Voilà, celà fait trois jours que je me prend la tête sur mon script.
Etant une bille en Ajax, j'ai regardé un peu les tutos que j'ai trouvé, et j'ai éssayé de les mettre en oeuvre dans mon code, mais voilà, j'arrive à atteindre une partie de ce que je veux( affichage du select), mais je n'arrive pas à récupérer les infos de mon fichier.
Voici d'abord mon fichier ajax.js :
Voici le bout de code de mon index :
Et voici le fichier d'où proviennent les données à récupérer :
Donc, quand je clique sur le bouton rafraichir, il doit normalement me rafraichir la liste déroulante pour revérifier s'il y a eu des modifications dans le répertoire des images.
Je voulais le faire en automatique, mais vu que je ne sais pas trop ou j'en suis dans mon code, pour le moment, j'ai fait u bouton rafraichir.
Y a t il quelqu'un qui pourrait m'aider à résoudre mon problème de récupération de données, car là, je rame complètement.
Je sais que j'ai du oublié dans le java d'intégrer mes données que je dois mettre à jours, mais le probleme est que je ne sais pas trop ou le faire et comment le faire.
D'avance, merci à vous.
Voilà, celà fait trois jours que je me prend la tête sur mon script.
Etant une bille en Ajax, j'ai regardé un peu les tutos que j'ai trouvé, et j'ai éssayé de les mettre en oeuvre dans mon code, mais voilà, j'arrive à atteindre une partie de ce que je veux( affichage du select), mais je n'arrive pas à récupérer les infos de mon fichier.
Voici d'abord mon fichier ajax.js :
Code : Tout sélectionner
// DEBUT MODULE DESCRIPTION
// Creation d'un objet XMLHttpRequest en fonction de l'explorateur Internet
function createRequestObject() {
var req;
if(window.XMLHttpRequest){
// Firefox, Safari, Opera...
req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
// Internet Explorer 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
// Affichage erreur lorsque explorateur internet obsolete
alert('Veuillez mettre jour votre explorateur Internet ou en utiliser un plus recent...');
}
return req;
}
var http = createRequestObject();
function recupereDonnees() {
// Charge le fichier PHP permettant d'afficher le tableau de données
http.open('POST', 'modules/Description/admin/test.php', false);
http.onreadystatechange = traitementDemande;
http.send(null);
}
function traitementDemande() {
if(http.readyState == 4 && http.status == 200){
// Charge le résultat de la requete l'endroit spécifié en fonction de l'action
if( http.responseText ){
document.getElementById('DescImage').innerHTML = http.responseText;
}else{ // si la page n'est pas trouvée (404), les droits sont insuffisants (501), ...
alert ("Erreur : " + xhr.status);
}
}
}
function afficheDonnees(){
recupereDonnees();
setInterval(recupereDonnees,3000);
}
// FIN MODULE DESCRIPTION
Voici le bout de code de mon index :
echo "<form method=\"post\" action=\"#\" name=\"poster\">";
echo "<head><script type=\"text/javascript\" src=\"includes/ajax.js\"></script></head>";
echo "<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"2\">";
echo "<tr><td><input type='button' value='rafraichir' onclick=\"recupereDonnees()\"><div id=\"DescImage\">";
echo "</div></td>";
if ($m_picture == "") {
echo "<td><img name=\"memberimg\" src=\"modules/Description/images/noimage.jpg\" width=\"128\" height=\"128\" align=\"right\" border=\"0\"></td></tr></table>";
}else{
echo "<td><img name=\"memberimg\" src=\"modules/Description/images/Photos/".$m_picture."\" width=\"128\" height=\"128\" align=\"right\" border=\"0\"></td></tr></table>";
}
echo "</tr></table>";
echo "<br><br><center><input type=\"hidden\" name=\"m_id\" value=\"$m_id\"><input type=\"submit\" value=\"Enregistrer\"></center></form>";
Et voici le fichier d'où proviennent les données à récupérer :
<?PHP
echo "<select name=\"m_picture\" size=\"8\" onChange=\"showimage()\">";
$imgfolder = opendir("modules/Description/images/Photos/");
while (false !== ($file = readdir($imgfolder))) {
$filelist[] = $file;
}
asort($filelist);
while (list ($key, $file) = each ($filelist)) {
if (eregi(".gif|.jpg|.png|.bmp",$file)) {
if ($file == $m_picture) {
$sel = "selected";
} else {
$sel = "";
}
$file2 = eregi_replace(".gif|.jpg|.png|.bmp","",$file);
echo "<option value=\"$file\" $sel>$file2</option>\n";
} else {
continue;
}}
closedir($imgfolder);
echo "</select>";
?>
Donc, quand je clique sur le bouton rafraichir, il doit normalement me rafraichir la liste déroulante pour revérifier s'il y a eu des modifications dans le répertoire des images.
Je voulais le faire en automatique, mais vu que je ne sais pas trop ou j'en suis dans mon code, pour le moment, j'ai fait u bouton rafraichir.
Y a t il quelqu'un qui pourrait m'aider à résoudre mon problème de récupération de données, car là, je rame complètement.
Je sais que j'ai du oublié dans le java d'intégrer mes données que je dois mettre à jours, mais le probleme est que je ne sais pas trop ou le faire et comment le faire.
D'avance, merci à vous.