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 :

Supprimer les doublons dans une colonne PHP lors de l'affichage


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut Supprimer les doublons dans une colonne PHP lors de l'affichage
    Bonjour à tous!

    J'ai un petit problème en ce moment qui me fait un peut stagner dans mon projet. En fait, j'ai fait une requête dans ma BDD qui m'affiche l'année, le mois, le type de renouvellement et le compte(nombre de clients par type de renouvellement). Mon problème est que dans un soucis d'optimiser ma table, j'ai merai par exple que q'il y a 3 fois l'année "2010" dans la colonne "Year" mon tableau n'en affiche qu'un seul de même pour le mois de Décembre et les autres colonnes. Pour ilustrer ça voici un extrait:


    Year------- Month----------- Type-----------------------Count
    2010------ December-- Renewal of product Monthly Plan--- 4
    2010------ December-- Renewal of product Annual Plan---- 2
    2010------ December-- Renewal of product Weekly Plan--- 2
    2011------ January---- Renewal of product Monthly Plan--- 8
    2011------ January---- Renewal of product Weekly Plan--- 5
    2011------ January---- Renewal of product Annual Plan---- 3

    A la place j'aimerai avoir:

    Year--Month---- Type----------------------------Count
    2010--December Renewal of product Monthly Plan--- 4
    ---------------- Renewal of product Annual Plan---- 2
    -----------------Renewal of product Weekly Plan---- 2
    2011--January--- Renewal of product Monthly Plan--- 8
    -----------------Renewal of product Weekly Plan---- 5
    -----------------Renewal of product Annual Plan---- 3

    J'ai essayé de résoudre mon problème avec la fonction array_unique mais ça marche pas. J'ai aussi de faire un GROUP BY 'year', 'Month' mais là ça ne m'affiche par ts les types en fonction du mois et de l'année ainsi q le count.
    Quelqu'un pourrait-il m'aider? Ou me donner une piste de réflexion?
    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    une solution simple est de tester les valeurs au moment de les afficher dans la <table>.
    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
    <?php
    $anne_old = '';
    $mois_old = '';
    // requete
    // [......]
    // boucle pour lister
    while ($row = .....) {
    	// [......]
    	// ($anne_bd, $mois_bd, $type_bd, $count_bd proviennent de la bdd)
    ?>
    <tr>
    	<td><?php if($anne_bd!=$anne_old) { echo $anne_bd; $anne_old = $anne_bd; } else { echo ''; } ?></td>
    	<td><?php if($mois_bd!=$mois_old) { echo $mois_bd; $mois_old = $mois_bd; } else { echo ''; } ?></td>
    	<td><?php echo $type_bd; ?></td>
    	<td><?php echo $count_bd; ?></td>
    </tr>
    <?php
    } // fin while
    ?>
    Et, pour masquer les td vides, tu utilises en CSS empty-cells
    "The empty-cells property sets whether or not to display borders and background on empty cells in a table (only for the "separated borders" model)."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    table
    {
    	border-collapse:separate; /* (obligatoire avec empty-cells) */
    	empty-cells:hide;
    }
    Dernière modification par Invité ; 16/08/2011 à 07h23.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut
    Bonjour à jreaux62! Je te remercie pour tn post qui m'a été très utile. Effectivement ça marche maintenant!! mais le pb c'est qu'au niveau de l'affichage je n'arrive pas à garder la forme de mon tableau C'est-à-dire les bordures extérieure et intérieure tt en cachant les cellules vides. Pourrais-tu m'aider sr ce dernier point?Merci d'avance!

  4. #4
    Invité
    Invité(e)
    Par défaut
    - Quel est le CSS de ta <table>,
    - et quel résultat (esthétique) veux-tu obtenir (si tu as une image à montrer en exemple, ce serait bien)

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut
    Merci Jreaux de ta réponse Voici le CSS de ma table:


    Code css : 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
    table, td, th
    		{
     
    		border-collapse:separate;
    		empty-cells:hide;
    		border:1px solid black;
    		color:white;
    		border:0px;
    		cellspacing:11px;
    		}
    		td
    		{
    		font-family:"Trebuchet MS";
    		border:1px solid black;
    		font-weight:bold italic;
    		font-size:16px;
    		color:black;
    		text-align:left;
    		padding-left:17px;
    		}
    		th
    		{
    		font-family:"Trebuchet MS";
    		border:1px solid black;
    		font-weight:bold;
    		font-size:14px;
    		color:black;
    		text-align:left;
    		padding-left:17px;
    		}

    Et j'aimerai obtenir ceci: cf fchier-joint
    Merci d'avance pour ton aide et ta disponibilité
    Images attachées Images attachées  

  6. #6
    Invité
    Invité(e)
    Par défaut
    Aurais-tu un bout du code html généré pour ton tableau (un bout suffit pour les tests)

    [Edit] En fait, non. Je vois ce que tu veux. Mais ca ne peut pas se faire de cette manière.

    Pour faire ce que tu veux, il faut FUSIONNER les cellules.
    Ce qui n'est pas si simple ...

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. Supprimer les doublons dans une colonne avec condition
    Par sims92.66 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/02/2012, 18h58
  3. supprimer les doublons . . . . d'une colonne donnée !
    Par pekka77 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/10/2006, 17h38
  4. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12

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