kashir <a href="javascript:c.popup";> | 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" Jusqu'a la ligne 67 du fichier liste_liees.php tout va bien il me semble
Je vous met les fichiers: config.php
Code :
- <?php
- $host="localhost";
- $Login="root";
- $Pass="";
- $DB="test";
- $Table="etudiants";
- $champ_niv="niveau";
- $champ_etud="etudiants";
- ?>
|
liste_liees.php
Code :
- <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
Code :
- <?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 Merci d'avance Message édité par kashir le 03-11-2010 à 10:44:35
|