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 :

Création variable Js à partir Requête AJAX


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2014
    Messages : 40
    Points : 35
    Points
    35
    Par défaut Création variable Js à partir Requête AJAX
    Bonjour à tous,

    Néophyte dans l'utilisation du Javascript, je fait une requête AJAX permettant la recherche dans une BDD via un input type Select.

    Le résultat de cette requête devant être affiché dans un Input type Text (permettant sa modification si nécessaire).

    C'est là que je cale. En effet, je n'arrive pas créer une variable du type :

    var compte_fournisseur=resultat(data);

    puis mettre à jour l'input type text via son id (document.getElementById('compte_fournisseur').value=compte_fournisseur

    Voici le code HTML :
    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
    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
    <!DOCTYPE html>
    <html>
    <head>
      <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
      <script>
      // quand le document est prés (chargé complétement)
      $(document).ready(function(){
        // sur l'evenement (select)#idDuselect.onChange
        $( '#idDuselect' ).on('change', function(){
          // prendre valeur actuelle de #idDuselect
          var s = $(this).val();
          $.ajax({
            url: 'selection3.php?s='+s, // créer l'url de la page de recherche
            success: function(data){
    			// si succés de la demande, afficher data dans (div)#results 
    			$( '#results' ).html( data );
     
    			// Je souhaiterais créer une varaiable du type : 
    			// var compte_fournisseur=$('resultat)(data);
    			// si succés de la demande, afficher data le champ text ayant pour id : "compte_fournisseur"
    			//document.getElementById('compte_fournisseur').value=compte_fournisseur;
            }
          });
        });
      });
      </script>
    </head>
    <body>
      <div id="controls">
    	<?php
            // Connexion à la base de données
            include("menu//chiens.php");
            echo ("<select name='code' id='idDuselect'>");
            $code = $bdd->query("SELECT*FROM `code_ascol`");
            echo ("<option value='--'>--</option>");
            while ($code_ascol = $code->fetch()){
            echo ("<option value='".$code_ascol['CODE_ASCOL']."'>".$code_ascol['CODE_VEHICULE']."</option>");
            }
            echo ("</select><br />");
            $code->closeCursor();   
            ?>
    	<label for 'compte_fournisseur' align='right'>N° Compte Fournisseur :</label><input type='text' name='compte_fournisseur' id='compte_fournisseur'/>	
      </div>
     
      <!--Utiliser ce résultat pour l'afficher dans le type text "compte_fournisseur"-->
      <div id="results"></div>
     
     
     
    </body>
    </html>
    La page de recherche selection3.php :


    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    session_start();
     
    function getParam($p, $default = false){ 
      return isset($_GET[$p])?$_GET[$p]:(isset($_POST[$p])?$_POST[$p]:$default); 
    }
     
    $choice = getParam('s');
     
     
    if($choice === false){
      echo ''; // retour vide sur S non définit.
      exit;
    } else {
    	// Connexion à la base de données
    	include("menu//chiens.php");
    	// Compter le nombre de code trouvés
    	$countCodeAscol = $bdd->query("SELECT count(ID) FROM `code_ascol` WHERE CODE_ASCOL LIKE '%".safe($_GET['s'])."%'");
    	$countAscolExtract = $countCodeAscol->fetch();
    	$total = $countAscolExtract[0];
    	$countCodeAscol->closeCursor();
    	if ($total){
    		$result = $bdd->query("SELECT*FROM `code_ascol` WHERE CODE_ASCOL LIKE '%".safe($_GET['s'])."%' ORDER BY CODE_VEHICULE"); 
    		$row = $result->fetch();
    		// Résultat de la recherche
    		echo $row['CODE_ASCOL'];
    		$result->closeCursor();
    	}
    }
    /***********************
    ****	fonctions	****
    ***********************/
    function safe($var)
    {
    	$var = addcslashes($var, '%_');
    	$var = trim($var);
    	$var = htmlspecialchars($var);
    	return $var;
    }
    ?>
    Je recherche depuis quelques heures, je perds patience.

    Dans l'attente d'une réponse de votre part, par avance merci.

    Cordialement.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    Bonjour,
    Je recherche depuis quelques heures, je perds patience.
    l ne faut pas perdre patience mais comprendre ce que tu fais !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // si succés de la demande, afficher data dans (div)#results 
    $( '#results' ).html( data );
    bien et qu'est ce qui t'interdit de le mettre dans un autre élément du DOM comme un INPUT ou encore dans une variable qui pour le coup devra être globale ?
    // si succés de la demande, afficher data le champ text ayant pour id : "compte_fournisseur"
    tout est bien résumé dans ce commentaire
    • champ text -> INPUT donc qui a une value
    • ayant pour id : "compte_fournisseur" -> donc $('#compte_fournisseur').val(data);, c'est la même chose que ce que tu mets en commentaire traduit en jQuery, ou pas loin
    //document.getElementById('compte_fournisseur').value=compte_fournisseur;

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2014
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    Merci Pour ta réponse rapide. Je mets le fichier final pour ceux qui en aurait besoin :

    Page HTML :
    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
    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
    <head>
      <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
      <script>
      // quand le document est prés (chargé complétement)
      $(document).ready(function(){
        // sur l'evenement (select)#idDuselect.onChange
        $( '#idDuselect' ).on('change', function(){
          // prendre valeur actuelle de #idDuselect
          var s = $(this).val();
          $.ajax({
            url: 'selection3.php?s='+s, // créer l'url de la page de recherche
            success: function(data){
    			// si succés de la demande, afficher data dans l'input type text "compte_fournisseur" 
    			$('#compte_fournisseur').val(data);
            }
          });
        });
      });
      </script>
    </head>
    <body>
      <div id="controls">
    	<?php
            // Connexion à la base de données
            include("menu//chiens.php");
            echo ("<select name='code' id='idDuselect'>");
            $code = $bdd->query("SELECT*FROM `code_ascol`");
            echo ("<option value='--'>--</option>");
            while ($code_ascol = $code->fetch()){
            echo ("<option value='".$code_ascol['CODE_ASCOL']."'>".$code_ascol['CODE_VEHICULE']."</option>");
            }
            echo ("</select><br />");
            $code->closeCursor();   
            ?>
    	<label for 'compte_fournisseur' align='right'>N° Compte Fournisseur :</label><input type='text' name='compte_fournisseur' id='compte_fournisseur'/>	
      </div>
     
      <!--Utiliser ce résultat pour l'afficher dans le type text "compte_fournisseur"-->
      <div id="results"></div>
     
     
     
    </body>
    </html>
    Page de consultation de la BDD :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    session_start();
     
    function getParam($p, $default = false){ 
      return isset($_GET[$p])?$_GET[$p]:(isset($_POST[$p])?$_POST[$p]:$default); 
    }
     
    $choice = getParam('s');
     
     
    if($choice === false){
      echo ''; // retour vide sur S non définit.
      exit;
    } else {
    	// Connexion à la base de données
    	include("menu//chiens.php");
    	// Compter le nombre de code trouvés
    	$countCodeAscol = $bdd->query("SELECT count(ID) FROM `code_ascol` WHERE CODE_ASCOL LIKE '%".safe($_GET['s'])."%'");
    	$countAscolExtract = $countCodeAscol->fetch();
    	$total = $countAscolExtract[0];
    	$countCodeAscol->closeCursor();
    	if ($total){
    		$result = $bdd->query("SELECT*FROM `code_ascol` WHERE CODE_ASCOL LIKE '%".safe($_GET['s'])."%' ORDER BY CODE_VEHICULE"); 
    		$row = $result->fetch();
    		// Résultat de la recherche
    		echo $row['CODE_ASCOL'];
    		$result->closeCursor();
    	}
    }
    /***********************
    ****	fonctions	****
    ***********************/
    function safe($var)
    {
    	$var = addcslashes($var, '%_');
    	$var = trim($var);
    	$var = htmlspecialchars($var);
    	return $var;
    }
    ?>
    Merci Encore !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/09/2009, 14h23
  2. Création de pixel à partir d'une requête
    Par syldudu dans le forum VBA Access
    Réponses: 4
    Dernier message: 16/01/2008, 17h22
  3. [SQL] Création de listes à partir des résultats d'une requête
    Par MANU_2 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/09/2007, 14h56
  4. Réponses: 4
    Dernier message: 05/10/2005, 16h07

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