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 :

éviter la répétition parmi les résultats [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 177
    Par défaut éviter la répétition parmi les résultats
    salut mes amis ,

    je suis débutant en php/mysql et j'ai fait un petit bout de code qui me permet de s'afficher un tableau ,mon probléme c'est que j'affiche tout meme les champs répéter.ex : j'ai une table(id,nom,prenom) les enregistrement(1,aa,bb)et(2,aa,cc) dans l'affichage je veux qu'il s'affiche :

    aa bb
    cc
    sans répéter le nom vous m'avez compris ,et merci d'avance.

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Bonjour ,

    tu peux nous montrer ton code existant on pourra ensuite t'aiguiller !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 177
    Par défaut
    c'est simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
      $sql = "SELECT * FROM test"; 
              $result2= mysql_query($sql, $connexion); 
     
    	   echo $row;
          while ($row=mysql_fetch_array($result2))
     
          {
           echo "</tr>";
            echo " <td >".$row[1]."</td>";
            echo " <td>".$row[2]."</td>";
            echo "</tr>";
          }
    ?>
    estce que il me faut modifier la requette ou un code a faire...!

  4. #4
    Membre expérimenté
    Homme Profil pro
    Programmeur Delphi
    Inscrit en
    Octobre 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmeur Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 183
    Par défaut
    La 1ère idée (à froid) serait de faire une requête avec un order by nom
    tu sauvegardes à chaque tour de boucle le dernier nom
    si le nouveau nom <> du dernier nom, tu affiches le champ nom
    sinon tu ne l'affiches pas

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Tu peux aussi créer un tableau temporaire dans lequel tu insère tes valeurs de manière unique et ensuite tu parcours ce tableau pour l affichage !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 177
    Par défaut
    je me suis débutant en php, donc vous pouvez me montrer un exemple de code ou un cours ou un tutoriels et merci beaucoups

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    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
    <?php
      $resultat = array();
     
      $sql = "SELECT * FROM test"; 
              $result2= mysql_query($sql, $connexion); 
     
          while ($row=mysql_fetch_array($result2))	 
          {
            echo "</tr>";
     
            if (!in_array($row[1],$resultat))
            {
                echo " <td >".$row[1]."</td>";
                array_push($row[1],$resultat);
            }
            else     
                echo " <td >&nbsp;</td>";
     
     
          if (!in_array($row[2],$resultat))
            {
                echo " <td >".$row[2]."</td>";
                array_push($row[2],$resultat);
            }
            else     
                echo " <td >&nbsp;</td>";
     
            echo "</tr>";
          }
    ?>
    un truc du genre , je préviens c'est pas testé et codé a l'arrache lol
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 177
    Par défaut
    merci je l'ai essai mais il me donne ce probléme :

    Warning: array_push(): First argument should be an array in c:\test\test.php on line 21

    voici le code que j'ai fait :
    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
    <?php  
    echo "<table>";
       $resultat = array();
      $sql = "SELECT * FROM test"; 
      $result2= mysql_query($sql, $connexion); 
     
       while ($row=mysql_fetch_array($result2))	 
          {
            echo "<tr>";
            if (!in_array($row[1],$resultat))
            {
                echo " <td >".$row[1]."</td>";
                array_push($row[1],$resultat);
            }
            else     
                echo " <td >&nbsp;</td>";
          if (!in_array($row[2],$resultat))
            {
                array_push($row[2],$resultat);
    			echo " <td >".$row[2]."</td>";
     
            }
            else     
                echo " <td >&nbsp;</td>";
     
            echo "</tr>";
          }
    echo "</table>";
     
    ?>

  9. #9
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    oui en fait il faut inverser les arguments de la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_push($resultat,$row[1]);
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 177
    Par défaut
    Merci Bien ,je te remercie infiniment

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

Discussions similaires

  1. Requête pour avoir le max parmi les couples de résultat
    Par eprevot dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/12/2012, 19h10
  2. Comment classer les résultats de ma requete ?
    Par eustache dans le forum Requêtes et SQL.
    Réponses: 19
    Dernier message: 27/02/2009, 22h03
  3. Réponses: 1
    Dernier message: 13/04/2005, 14h41
  4. pb avec les résultats trops gros
    Par nisaes dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/01/2005, 10h44
  5. Réponses: 5
    Dernier message: 05/10/2004, 13h05

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