PHP, AJAX Problème récupération de données
kashima
-
kashima -
kashima -
Bonjour a tous,
J'ai récupérer un petit script sur ce même forum hier, je l'ai un peu modifie mais j'ai toujours le même message d'erreur.
"Erreur de syntaxe prés de 'test' a la ligne 1"
Je vous met les fichiers:
config.php
liste_liees.php
repPhpAjax.php
Si qqun voit la boulette je suis preneur :D
Merci d'avance
J'ai récupérer un petit script sur ce même forum hier, je l'ai un peu modifie mais j'ai toujours le même message d'erreur.
"Erreur de syntaxe prés de 'test' a la ligne 1"
Je vous met les fichiers:
config.php
<?php $host="localhost"; $Login="root"; $Pass=""; $DB="test"; $Table="etudiants"; $champ_niv="niveau"; $champ_etud="etudiants"; ?>
liste_liees.php
<html> <head> <!-- Script de listes deroulantes liees avec appel par AJAX, (evite le rechargement de la page) --> <script language="Javascript"type="text/JavaScript"> // Requette AJAX function makeRequest(url,id_niveau,id_ecrire){ var http_request = false; //créer une instance (un objet) de la classe désirée fonctionnant sur plusieurs navigateurs if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml');//un appel de fonction supplémentaire pour écraser l'en-tête envoyé par le serveur, juste au cas où il ne s'agit pas de text/xml, pour certaines versions de navigateurs Mozilla } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Abandon :( Impossible de créer une instance XMLHTTP'); return false; } http_request.onreadystatechange = function() { traitementReponse(http_request,id_ecrire); } //affectation fonction appelée qd on recevra la reponse // lancement de la requete http_request.open('POST', url, true); //changer le type MIME de la requête pour envoyer des données avec la méthode POST , !!!! cette ligne doit etre absolument apres http_request.open('POST'.... http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); obj=document.getElementById(id_niveau); data="val_sel="+obj.value; http_request.send(data); } function traitementReponse(http_request,id_ecrire) { var affich=""; if (http_request.readyState == 4) { if (http_request.status == 200) { // cas avec reponse de PHP en mode texte: //chargement des elements reçus dans la liste var affich_list=http_request.responseText; obj = document.getElementById(id_ecrire); obj.innerHTML = affich_list; } else { //alert('Un problème est survenu avec la requête.'); alert('There was a problem with the request.(Code: ' + http_request.status + ')'); } } } </script> </head> <?php include ("config.php"); // Connexion a la base de donnees $AccesBase = mysql_connect($host,$Login,$Pass); mysql_select_db($DB,$AccesBase); $QuestionBase = "SELECT DISTINCT $champ_niv FROM $Table ORDER BY $champ_niv ASC " ; $result_recherche=mysql_query($QuestionBase) or die (mysql_error()); $nombre_enr=mysql_num_rows($result_recherche); ?> <body> <form name="test1" method="post" action="liste_liees.php" > <div id="id_list1">Niveau:<br> <select name="niv1" id="id_niv1" onChange="makeRequest('repPhpAjax.php','id_niv1','id_list2')"> <option>-- Choisissez --</option> <?php while ($row=mysql_fetch_assoc($result_recherche)){ ?> <option value="<?php echo $row[$champ_niv]?>"><?php echo $row[$champ_niv]?></option> <?php } ?> </select> <br><br> </div> <div id="id_list2"> <!-- ici sera charge la reponse mode texte de PHP à la request AJAX --> </div> </form> </body> </html>
repPhpAjax.php
<?php // script PHP interrogation Base de donnees pour reponse a la requette AJAX include ("config.php"); // Connexion a la base de donnees $AccesBase = mysql_connect($host,$Login,$Pass); mysql_select_db($DB,$AccesBase); $QuestionBase = "SELECT * FROM $Table WHERE ".$champ_niv."='".$_POST["val_sel"]."' ORDER BY ".$champ_etud." ASC " ; $result_recherche=mysql_query($DB) or die (mysql_error()); // construction de la liste deroulante $aff==""; $aff=$aff."Etudiants:<br> <select name='niv1' id='cont_list2' > <option>-- Choisissez --</option>"; while ($row=mysql_fetch_assoc($result_recherche)){ $aff.="<option value=\"$row[$champ_etud]\">$row[$champ_etud]</option>"; } $aff=$aff."</select><br><br>"; // envoi reponse Php a Ajax echo $aff; ?>
Si qqun voit la boulette je suis preneur :D
Merci d'avance
A voir également:
- PHP, AJAX Problème récupération de données
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Logiciel de récupération de données - Guide
- Convertisseur récupération de texte - Guide
- Easy php - Télécharger - Divers Web & Internet