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 :

Concaténer plusieurs colonnes d'une table temporaire [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut Concaténer plusieurs colonnes d'une table temporaire
    Bonjour,
    J'espère être sur le bon forum,
    C'est du PHP et du MYSQL.
    Voilà ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    mysql_query("CREATE TEMPORARY TABLE `dates` SELECT `sta_1_date`,`sta_2_date`,`sta_3_date`,`sta_4_date`,`sta_5_date`,`sta_6_date`,`sta_7_date` FROM `stats_suivi` WHERE `sta_val`='O' AND `sta_annee`='2008' ORDER BY `sta_num_lot`");
    $query0 = "SELECT * FROM `dates` GROUP BY 1";
    $result0 = mysql_query("$query0");
     
    $no0 = 0;
    while($row0=mysql_fetch_object($result0))
    {       
    $xdata[$no0] = $row0->sta_1_date;
    $no0++;
    }
    Je souhaite récupérer pour tous les sta_1_date, sta_2_date,... un exemplaire unique de date.
    Avec la requête ci-dessus je récupère bien les dates uniques de sta_1_date.
    Mais je veux un exemplaire unique de tous les sta1_date, sta_2_date, ... groupés.
    Comment faire ? (j'espère que j'ai été assez explicite)
    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    groupés par quoi justement ?
    ecrit nous un exemple de ce que tu souhaites obtenir, ca sera peut etre plus simple à visualiser.

    sinon tu peux deja simplifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while($row0=mysql_fetch_object($result0))
    {       
    $xdata[] = $row0->sta_1_date;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut
    ouai désolé pas facile d'être clair,
    en fait j'ai une table avec 7 colonnes 'sta_X_date'.
    Dans ces sept colonnes un grand nombre de date avec beaucoup de doublons.
    je voudrai en fait obtenir en définitive une colonne comprenant un exemplaire unique de toutes ces dates.
    (c'est pour faire des stats avec jpgraph).

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu veux eliminer les doublons au total ou les doublons pour chaque colonne ?

    Pour chaque colonne ca pourrait donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $xdata= array();
    while($row0=mysql_fetch_object($result0))
    {       
    foreach ($row as $colonne=>$date) {
        if (!in_array($date, $xdata[$colonne])) {
             $xdata[$colonne][] = $date;
        }
    }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut
    Je veux éliminer les doublons au total.
    Une colonne avec un exemplaire unique de date (au lieu de sept colonnes).
    Merci.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while($row0=mysql_fetch_object($result0))
    {       
      foreach ($row as $date) {
          $recup_date[] = $date;
      }
    }
    $xdata = array_unique($recup_date);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Supprimer plusieurs colonnes d'une table
    Par bambino dans le forum Développement
    Réponses: 2
    Dernier message: 05/07/2011, 14h04
  2. primary key sur plusieurs colonnes d'une table
    Par hotttttsauce dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/04/2008, 12h20
  3. Réponses: 9
    Dernier message: 08/01/2008, 13h58
  4. Réponses: 5
    Dernier message: 27/12/2006, 16h56
  5. Recherche dans plusieurs colonnes d'une table
    Par yoline dans le forum Access
    Réponses: 4
    Dernier message: 26/07/2006, 11h58

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