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

PHP & Base de données Discussion :

Convertir données séparés par virgule en liste


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 54
    Par défaut Convertir données séparés par virgule en liste
    Bonjour a tous

    Je viens demander votre aide.

    J'ai un select box (country) que je souhaite alimenter avec des données de ma BDD. La requête marche et j’obtiens le liste.

    J'essaie de faire pareil sur une autre table sauf que là les données à renvoyer sont séparées par des virgules (data1,data2,data3), elles s'affichent donc en l’état avec les virgules, ce qui ne me convient pas.

    J'aimerai que les données s'affichent en liste, sans les virgules.

    Résultat actuel
    Résultat souhaité :
    Mon code:
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <html>
        <head>
            <title>PHP</title>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
            <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
            <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
            <script src="jquery.lwMultiSelect.js"></script>
            <link rel="stylesheet" href="jquery.lwMultiSelect.css" />
        </head>
        <body>
            <br /><br />
            <div class="container" style="width:600px;">
                <h2 align="center">PHP</h2><br /><br />
                <form method="post" id="insert_data">
                    <select name="country" id="country" class="form-control action">
                        <<?php
                            require_once 'config.php';
                            $sql="SELECT * FROM country ORDER BY country";
                            $result=mysqli_query($conn,$sql);
                            while($row=mysqli_fetch_array($result)){
                        ?>                                  
                            <option value="<?= $row['country']; ?>"><?= $row['country']; ?></option>
                        <?php } ?>
                    </select>
                    <br />
                    <select name="state" id="state" class="form-control action">
                        <option value="">Select State</option>
                    </select>
                    <br />
                    <select name="city" id="city" multiple class="form-control">
                    </select>
                    <br />
                    <input type="text" name="hidden_city" id="hidden_city" />
                    <input type="submit" name="insert" id="action" class="btn btn-info" value="Insert" />
                </form>
            </div>
        </body>
    </html>
     
    <script>
    $(document).ready(function(){
     
        $('#city').lwMultiSelect();
     
        $('.action').change(function(){
            if($(this).val() != '')
            {
                var action = $(this).attr("id");
                var query = $(this).val();
                var result = '';
                if(action == 'country')
                {
                    result = 'state';
                }
                else
                {
                    result = 'city';
                }
                $.ajax({
                    url:'fetch.php',
                    method:"POST",
                    data:{action:action, query:query},
                    success:function(data)
                    {
                        $('#'+result).html(data);
                        if(result == 'city')
                        {
                            $('#city').data('plugin_lwMultiSelect').updateList();
                        }
                    }
                })
            }
        });
    </script>
    Possible de m'aider dans ce sens?

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 54
    Par défaut
    Toujours en recherche de solution. J'ai essayé avec explode en vain. Je m'y prend mal peut être.
    Quelqu'un peut m'aider?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
        require_once 'config.php';
        $sql="SELECT * FROM country ORDER BY country";
        $result=mysqli_query($conn,$sql);
        while($row=mysqli_fetch_array($result)){
    ?>                                 
        <option value="<?= $row['country']; ?>"><?= $row['country']; ?></option>
    <?php } ?>
    Merci d'avance

    Cordialement

  3. #3
    Membre éclairé Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut
    hello patrick754
    essaye ceci voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $var='date1,data2,data3';
    $tab=explode(",",$var);
     
    var_dump($tab);
    A+

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    La question est surtout pourquoi y-a-t-il une table country qui contienne des listes de pays séparés par des virgules! En d'autres termes, tu es en train d'essayer de résoudre avec PHP un problème qui provient d'un défaut de conception de la base de données. Une table nommée country ne devrait avoir qu'une ligne pour chaque pays.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 54
    Par défaut
    Bonjour a tous
    @solo190, merci pour la solution.

    @CosmoKnacki, je comprend ton question, ma table country ne se présente pas comme ça, c'est juste un exemple pris pour exposer le problème, les nom utilisés n'ont donc pas de sens en tant que tel.

    Merci a tous

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Que ce soit une table country ou une autre table, si tu as une colonne avec des données séparées par des virgules ce n'est pas normal, tu dois revoir la conception de ta base pour l'éviter.

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

Discussions similaires

  1. [VBA-E] Convertir données separées par point virgule
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 31/01/2018, 12h05
  2. Réponses: 0
    Dernier message: 14/08/2012, 08h03
  3. [MySQL] récupérer des données séparé par un point virgule
    Par nox77 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/02/2011, 17h35
  4. Réponses: 2
    Dernier message: 20/11/2007, 10h58
  5. Réponses: 14
    Dernier message: 20/03/2006, 09h43

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