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 :

sélectionner dans une table deux champs identiques [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Points : 86
    Points
    86
    Par défaut sélectionner dans une table deux champs identiques
    Bonjour
    Mon but est de faire une boucle pour pouvoir récupérer toutes les commandes correspondant à un même membre;
    Simplement vu la manière dont j'ai fait le site, je me retrouve avec une table article_commande, dont les champs sont les suivants :
    id, id-membre, article, quantite, date, heure
    Alors mon problème c'est que quand j'ai sélectionné la personne je voudrais afficher ses différentes commandes et pas tout ce qu'il a commandé donc je pensais me servir de la date et de l'heure pour le faire.
    Voici mon code actuellemment :

    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
    <?php
    session_start();
    verif_admin($_SESSION['pass'],$pass);
     
    $pseudo_get = $_GET['pseudo'];
    $_SESSION['pseudo_membre'] = $_GET['pseudo'];
     
    mysql_connect("localhost", "root","");
    mysql_select_db("aviatec");
     
    $requete=mysql_query("Select * from article_commande where id_membre =".$_GET['devis']);
    while( $req=mysql_fetch_array($requete) )
    {
    $id_commande =  $req['id'];
    $id_membre = $req['id_membre'];
    $date_commande = $req['date'];
    $heure_commande = $req['heure'];
    $designation_commande = $req['designation'];
    $qte_commande = $req['qte'];
     
     
     
    ?>
    <form name="form2" method="post" action="changeinfo_membre2.php">
      <table width="363" border="0">
        <tr>
          <td width="172">Commande numéro : </td>
          <td width="181"><input name="pseudo" type="text" disabled="true" id="pseudo" value="Commande numéro <?php echo $id_commande; ?>">
            *</td>
        </tr>
        <tr>
          <td>Date de l'achat</td>
          <td><input name="mail" type="text" id="mail" value="<?php echo $date_commande;?>">
    *      </td>
        </tr>
        <tr>
          <td>heure : </td>
          <td><input name="heure" type="text" id="nom" value="<?php echo $heure_commande; ?>">
    </td>
        </tr>
    <tr>
          <td>heure : </td>
          <td><input name="designation" type="text" id="nom" value="<?php echo $designation_commande; ?>">
    </td>
        </tr>
    <tr>
          <td>heure : </td>
          <td><input name="quantite" type="text" id="nom" value="<?php echo $qte_commande; ?>">
    </td>
        </tr>
     
      </table></form>
     
    <?php
    }
     
    ?>
    Maintenant je voudrais savoir comment faire pour que à partir du moment où la date et l'heure sont identiques, ils ne me mette pas trois fois de suite l'heure et la date avec en dessous le nom et la quantite, mais que si la date et l'heure sont identiques, les articles apparaissent en dessous
    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 255
    Points
    255
    Par défaut
    garde dans une variable l'heure et la date de la requete et tu compare avec la suivante...

    si c'est identique tu n'affiche pas l'heure. Sinon, tu affectes a tes variables la nouvelle date et heure

  3. #3
    Membre averti Avatar de nicocsgamer
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 321
    Points : 342
    Points
    342
    Par défaut
    Tu peux utiliser le mot distinct dans ta requête.

    Mais le mieux est quand même de rajouter une table commande.

  4. #4
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    Dans ce cas là, il te faut regrouper les produits !

    en gros afficher une ligne pour une commande, mais avec tout les produits commandés dans cette ligne.

    modifie ta requète comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT id, id_membre, date, heure, 
    GROUP_CONCAT(designation SEPARATOR "-_-") as produit, GROUP_CONCAT(qte SEPARATOR "-_-") as qte
    FROM article_commande 
    WHERE id_membre =".$_GET['devis']" 
    GROUP BY date,heure
    ensuite, tu explode $row['produit'], ainsi que $row['qte'] avec l'expression "-_-", soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mesproduits = explode("-_-",$row['produit']);
    $mesqtes = explode("-_-",$row['qte']);
    et ici , $mesproduits[0] = "Chaussures blabla", $mesqtes[0] = 1
    etc ...
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 255
    Points
    255
    Par défaut
    Ca reste plus simple d'ajouter une table commande

  6. #6
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    la simplicité est relative ici

    la requète est peut-être un peu plus complexe mais elle fait le travail de tout une table

    donc c'est plus simple de créer une table commande, mais quand je lis :

    Simplement vu la manière dont j'ai fait le site,
    ca me motive à proposer une solution qui n'oblige pas à modifier la manière dont il à fait son site
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  7. #7
    Membre averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut

    Je pense aussi qu'une table commande serait plus intérressante, il pourrait ainsi suivre les commandes et grâce à un champs "ETAT" par exemple il pourra vérifier si les commande des clients sont "en cours" ou "terminée"...
    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

  8. #8
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    En fonction de ces besoin il est vrai que ce serait plus utile de créer une table commande
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  9. #9
    Membre régulier Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Points : 86
    Points
    86
    Par défaut
    Désolée de répondre aussi tard
    En effet c'est ce que j'ai fait j'ai créé une seconde table
    merci à tous

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/03/2014, 12h08
  2. [AC-2007] Dans une table, deux champs liés à une autre table.
    Par julienbru dans le forum Modélisation
    Réponses: 3
    Dernier message: 24/11/2011, 18h49
  3. Réponses: 12
    Dernier message: 12/07/2011, 18h19
  4. Réponses: 0
    Dernier message: 09/02/2011, 09h13
  5. Importer un fichier texte dans une table avec champ Memo
    Par Steph4fun dans le forum Paradox
    Réponses: 12
    Dernier message: 25/11/2007, 23h10

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