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

JavaScript Discussion :

Résultat SQL SELECT vers data[]


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 299
    Points : 67
    Points
    67
    Par défaut Résultat SQL SELECT vers data[]
    Bonjour,
    J'ai une liste déroulante qui me sort une liste comme ceci:
    Nom : Capture d’écran de 2019-04-19 11-50-49.png
Affichages : 68
Taille : 31,8 Ko
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select name="client_societe" id="client_societe" class="form-control mx-sm-3 mb-2" onchange="ficheclient(this.value)">
    		<?php $client = $bdd->query('SELECT DISTINCT client_societe, client_id FROM client WHERE client_contact = "'.$_SESSION['Contact_id'].'" ORDER BY `client_societe` ASC');
                            while ($data = $client->fetch()) { ?>
    			<option id="client_id_<?php echo $data['client_id']; ?>" value="<?php echo $data['client_id']; ?>"> <?php echo $data['client_societe']; ?></option>
    		<?php } $client->closeCursor(); ?>
    </select>

    Je voudrai transmettre les noms dans cette liste déroulante à du code Jquery/JS tel que ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        data:[ "Brad Pitt", "Gaston Hocko", "etc.." ],
    Puis dans un second temps, si cela fonctionne, le but est de faire la même chose mais en récupérant d'avantage de données, comme par exemple le nom du client + la ville où il habite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        data:[
            {value:"1",text:"Brad Pitt", description: "Amsterdam."},
            {value:"2",text:"Gaston Hocko", description: "Moscou."},
            {value:"3",text:"etc..", description: "etc..."}
        ],
    Merci d'avance!

  2. #2
    Membre actif
    Inscrit en
    Août 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 191
    Points : 263
    Points
    263
    Par défaut
    Salut,

    qu'entend tu par :

    Je voudrai transmettre les noms dans cette liste déroulante à du code Jquery/JS tel que ceci :
    souhaites tu générer une liste des valeurs sélectionner ou une liste de l'intégralité de ton select.
    Dans quel but souhaites tu les passer à du Jquery ?

    En gros peux tu nous donner plus d'informations sur ta demande ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    As-tu entendu parler d'Ajax ?

    Cela dit, ta problématique se résout coté PHP, avec json_encode().

    Et si tu n'as pas trop de données à récupérer, on peut le faire SANS Ajax :

    1- J'ai corrigé le code du <select> il faut faire une requête préparée !
    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
    <select name="client_societe" id="client_societe" class="form-control mx-sm-3 mb-2" onchange="ficheclient(this.value)">
    <?php
    		$sql = "SELECT DISTINCT client_societe, client_id 
    			FROM client WHERE client_contact = :client_contact 
    			ORDER BY `client_societe` ASC";
    		$query = $bdd->prepare($sql);
    		$query->execute(array(':client_contact'=>$_SESSION['Contact_id']));
    		$dataAll = $query->fetchAll(); // récupère TOUTES les lignes
    		foreach( $dataAll as $data )
    		{
    ?>
    	<option id="client_id_<?php echo $data['client_id']; ?>" value="<?php echo $data['client_id']; ?>"> <?php echo $data['client_societe']; ?></option>
    <?php 	} $client->closeCursor(); ?>
    </select>
    A NOTER :
    • fetchAll() : on récupère TOUTES les lignes
    • on se servira de $dataAll dans le script JS


    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
    function ficheclient( val )
    {
    	var dataAll = <?php echo json_encode($dataAll); ?>; // -> REGARDE le résultat DANS LA CONSOLE !
    	console.log( dataAll[val].client_id + ' : ' + dataAll[val].client_societe ); // affichage dans la console
    }
    </script>
    Pour afficher d'autres champs de la table (infos client), il suffit de les ajouter à la requête SQL.
    Dernière modification par Invité ; 26/04/2019 à 19h35.

  4. #4
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 299
    Points : 67
    Points
    67
    Par défaut
    merci pour ta réponse c'est exactement ce que je cherchais.
    Petite erreur ligne 14 : c'est $sql et non $client sur le closeCursor.
    J'ai un petit soucis : j'ai bien ma liste mais le reste de ma page de ne charge pas ( auncun élément ne se charge sous le select dès que j'arrive sous le select).
    Et lorsque je change un élément de la liste de mon select, j'ai un :
    ReferenceError: ficheclient is not defined
    Qui pourtant est définis juste en dessous.
    Une idée?

    Merci d'avance

Discussions similaires

  1. Mettre le résultat d'un requête SQL Select dans un fichier
    Par youssefcss dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 16/10/2018, 18h39
  2. Réponses: 2
    Dernier message: 06/07/2009, 10h45
  3. [SQL toute vers.] Parcours et selection d'ARBRES
    Par pi05 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/08/2006, 14h30
  4. mise a jour data de sql server vers mysql
    Par kimo0147 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/06/2006, 12h25

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