IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Requête AJAX avec données SQL


Sujet :

AJAX

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [AJAX] Requête AJAX avec données SQL
    Bonsoir à tous,

    Je bloque sur ma requête ajax qui doit remplir des champs input type='text' avec des données de ma base SQL.

    Fonctionnement:
    - J'ai un SELECT avec comme value ma liste de clients SQL. (Aucun problème)
    J'ai mis en 'OnChange=' ma fonction javascript (Ajax) avec comme params
    la value de mon select.
    - Quand je choisi, il doit m'afficher les infos du client dans plusieurs inputs text (nom, prenom, etc...)

    Pour le moment, quand je change mon select, l'ODD de Chrome m'alerte.

    Voici le code de ma page:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <div align='center' id="modifier">
    	    <div>
    		<SELECT name='listeid' id="listeid" onChange="javascript:donnees()">
    			<?php
                                    $rs= connection('SELECT idcontact,nom,prenom FROM contact');
                                    
                                    while($info=$rs->fetch_object())
                                            {  
                                            echo '<OPTION VALUE="'.$info->idcontact.'">'.$info->idcontact.' '.$info->nom.' '.$info->prenom.'</OPTION>';
                                            }
                            ?>
    		</SELECT>
    	    </div>
    	    <br>
     
    		<table>
    			<tr>
    				<td> IdContact:</td>
    				<td><input type='text' id='idcontact' value='' readonly="readonly"	></td>
    			</tr>
    			<tr>
    				<td> Nom:</td>
    				<td><input type='text' id='modnom' value='' ></td>
    			</tr>
    			<tr>
    				<td>Prénom:</td>
    				<td><input type='text' id='modprenom' value='' ></td>
    			</tr>
    			<tr>
    				<td> Adresse:</td>
    				<td><input type='text' id='modadresse' value='' ></td>
    			</tr>
    			<tr>
    				<td>CP:</td>
    				<td><input type='text' id='modcp' value='' ></td>
    			</tr>
    			<tr>
    				<td> Ville:</td>
    				<td><input type='text' id='modville' value='' ></td>
    			</tr>
    			<tr>
    				<td>Tel:</td>
    				<td><input type='text' id='modtel' value='' ></td>
    			</tr>
    			<tr>
    				<td> IdGroupe:</td>
    				<td><input type='text' id='modidgroupe' value='' ></td>
    			</tr>
    		</table>
    			</br>
    				<input type='button' class='BoutonVert' onclick='' value='Modifier'/>
    				<input type='button' class='BoutonRouge' onclick='' value='Réinitialiser'/>
    	</div>

    Celui de ma fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function donnees()
    		{
    			var Monurl = "sql/donnees.php";
    			var params = {'listid':document.getElementById('listeID').value};
    			$.ajax ({
    					'url':Monurl,
    					'dataType':'text',
    					'data': params,
    					'type':'POST',
     
    				'success': 
    					function(data)
    					{
     
    					}
    					});
    		}
    Et le fichier appelé:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php  
    	include_once('connection.php');        
    	$rs= connection("SELECT nom,prenom,telephone,adresse,codepostal,ville,idgroupe FROM contact WHERE idcontact ="$_POST['listid']"");
    	while($info=$rs->fetch_object())  
    		{  $tab=array(
    		   $idcontact=$info->idcontact;
    		   $modnom=$info->nom;
    		   $modprenom=$infp->prenom;
    		   $modadresse=$info->adresse;
    		   $modcp=$info->cp;
    		   $modville=$info->ville;
    		   $modtel=$info->tel.;
    		   $modidgroupe=$info->idgroupe.;
    		);
     
     
    ?>

    Pourquoi cela ne fonctionne pas ?
    Cordialement

  2. #2
    Membre averti Avatar de Njörd
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 190
    Points : 390
    Points
    390
    Par défaut
    Bonjour Justsohy,

    Que te dis l'ODD de Chrome ?

    Sinon, pour le moment ton code n'affichera rien dans tes inputs car :
    - tu ne renvois à aucun moment ton tableau $tab au callback (fait un echo)
    - tu auras des soucis pour lire ce tableau si tu ne le parses pas en XML ou JSON (ex: la fonction json_encode() de php avant de faire le écho)
    - une fois réceptionné les données du tableau dans ton success, il faut peupler les inputs avec tes données.

    Edit: l'attribut onchange de ton select attend déjà un événement javascript, inutile donc de rajouter le "javascript:" devant le nom de ta fonction.

  3. #3
    Membre du Club

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 30
    Points : 66
    Points
    66
    Par défaut
    1 autre problème, tu envoi tes données au format text mais elle sont en JSON.
    Njörd a raison.
    coté serveur
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php  
    	include_once('connection.php');        
    	$rs= connection("SELECT nom,prenom,telephone,adresse,codepostal,ville,idgroupe FROM contact WHERE idcontact ="$_POST['listid']"");
     
    	while($info=$rs->fetch_object())  
    		{ 
                      echo "{
    		   idcontact : \"".$info->idcontact.""\",".
    		   "modnom : \"".$info->nom."\",".
    		   "modprenom : "\"".$infp->prenom."\",".
    		   "modadresse : "\"".$info->adresse."\",".
    		   "modcp : "\"".$info->cp."\",".
    		   "modville : "\"".$info->ville."\",".
    		   "$modtel : "\"".$info->tel."\",";
    		   "modidgroupe : "\"".$info->idgroupe."\"}";
    		}
     
    ?>
    Coté client ta fonction va récupérer les données et les placer au endroit adéquat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //[...]
    success:function(data){
    var _data=eval("("+data+")");
    for(var field in _data){
    $('#'+field).val(_data[field]);
    }
    }
    Bonne Chance

Discussions similaires

  1. [MySQL] Menu déroulant avec données sql
    Par matt38 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/08/2012, 23h40
  2. [AC-2007] Requête Ajoût avec donnée d'une table, sans passer par le SQL
    Par charlhub dans le forum Access
    Réponses: 4
    Dernier message: 08/01/2012, 19h49
  3. [AJAX] Requête ajax avec un url externe
    Par jaljal dans le forum AJAX
    Réponses: 6
    Dernier message: 04/04/2011, 12h22
  4. [SQL] Limiter taille tableau html construit avec données sql
    Par syl2042 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/09/2007, 15h23
  5. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo