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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    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 Expert
    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
    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 confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    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 confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    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 confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    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 418
    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 confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    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

+ 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