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 :

Un echo d'une table sans doublon [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut Un echo d'une table sans doublon
    Bonjour,
    Merci d'avance pour votre aide

    J'ai une table livres contenant 200 titres de livres
    Je veux sur mon site affiche 5 titres de livres et cela sans doublon.

    Actuellement j'ai un echo :

    livre A
    livre B
    livre A
    livre C
    livre C

    Et je veux un echo du type :

    livre A
    livre B
    livre C
    livre D
    livre E

    J'ai cherché et j'ai trouvé un script mais pour deux tables


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $sql = "SELECT * FROM livres AS l, auteurs AS a WHERE l.ida = a.ida";
     
    $resultat = mysql_query($sql) or die("sql false");
     while($ligne = mysql_fetch_array($resultat)){
         $auteurs_actuel = $ligne["nom_auteur"];
         if($auteurs_actuel != $dernier_auteur){
             echo $auteurs_actuel."<br />";
         }
         echo $ligne["titre_livre"]."<br />";
         $dernier_auteur = $ligne["nom_auteur"];
     }
    Comment scripté mon souhait.

    Je me repete mais merci pour votre aide.
    Cdlt

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonsoir,

    utilise DISTINCT en SQL directement tu n'aura plus besoin de passer par un algorithme en PHP pour dé doublonner ton tableau.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut merci
    ok merci pour ton aide.

    Mais si j'utilise cela
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT * FROM livres
    je n'obtiens pas 5 livres au hasard mais une seule ligne
    merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut merci
    comment faire de ce bout de script qu'il me selectionne 5 livres au hasard et sans doublon de ma table.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM livres ORDER BY RAND() LIMIT 1
    merci pour votre aide

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Faut appliquer distinct sur une colonne de ta table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT titre_livre FROM livres ORDER BY RAND() LIMIT 5

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut merci
    Je viens de faire cela mais cela ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $link = mysql_connect ($host, $user, $pass);
    $sql="SELECT DISTINCT id  FROM livres where titre !='0' ORDER BY RAND() LIMIT 3";
    $result = mysql_db_query($bdd,$sql);
    while($row = mysql_fetch_array($result))
    {
    $donnee=$row["titre"];
    echo $donnee."<br/>"; 
     
    }		
    mysql_close($link);
    merci pour votre aide

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Evidemment que cela ne peut pas marcher puisque comme je le suppose tes id sont déjà tous distincts. Tu ne gagne donc rien à appliquer distinct sur un id. Si tu veux des titres distincts il faut appliquer distinct sur ta colonne qui contient les titres. C'est pour cela que dans mon exemple je faisais "SELECT DISTINCT titre_livre ..." en supposant que la colonne qui contient les titres de tes livres se nomme "titre_livre"

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut merci
    Done c'est bon merci encore pour ton aide
    Cdlt

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2014, 13h12
  2. Charger une table sans doublons
    Par moheissenger dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 23/02/2010, 18h16
  3. Ajout dans une table sans doublon
    Par Cbonniot dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/05/2009, 10h31
  4. Comment mettre à jour une ligne sans doublon via déclencheur
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/08/2004, 15h56
  5. Lister le contenu d'une table sans connaitre ses champs
    Par Google.be dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 30/03/2004, 15h23

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