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 doublon avec rand() mysql


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité(e)
    Invité(e)
    Par défaut éviter doublon avec rand() mysql
    Bonjour,

    voila mon problème je fais une requête sql avec un rand();

    le tri aléatoire fonctionne, mais il peut tiré plus d'une fois la même valeur
    je voudrais savoir comment faire pour ne pas avoir de doublon dans le retour des résultats merci.

    vois ma fonction :

    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
     
    		    public function aleatoire()
        {
     
     
    		$result = mysql_query("SELECT F.TIT_ID, F.TITLE AS TITLE , F.IMAGE_URL AS IMAGE_URL, FD.Nom AS Nom_Producteur
            FROM Film F
    		INNER   JOIN Films_Director_Link FDL   
                      ON F.TIT_ID=FDL.Film_ID
                    JOIN Films_Director FD
                      ON FDL.Director_ID=FD.Films_Director_ID
                    JOIN Films_Categories_Link FCL
                      ON FCL.Film_ID=FDL.Film_ID
                    JOIN Films_Categorie FC 
                      ON FCL.Categories_ID=FC.Categories_ID
    				WHERE F.NOUVEAUTE=1   ORDER BY Rand()");
    		while ($row = mysql_fetch_assoc($result))
    		{ 
    		$lines[] = $row;  
     
    		}
     
    		return $lines;
    	}

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 85
    Par défaut
    Bonjour,

    tu peux utiliser le mot clef DISTINCT sur F.TIT_ID :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT(F.TIT_ID)
    ... ainsi tu n'auras pas de doublons

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    j'ai déjà testé sa ne fonctionne pas toujours des doublons
    merci

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2009
    Messages : 35
    Par défaut
    Mais attends tu as des doublons dans ta table film ??

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 85
    Par défaut
    Re-Bonjour,

    je pense que la requêtes suivante va faire ton bonheur :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT
        F.TIT_ID,
        F.TITLE AS TITLE,
        F.IMAGE_URL AS IMAGE_URL,
        GROUP_CONCAT(FD.Nom ORDER BY FD.Nom ASC SEPARATOR ', ')
    FROM Film F
    INNER JOIN Films_Director_Link FDL ON F.TIT_ID=FDL.Film_ID
    JOIN Films_Director FD ON FDL.Director_ID=FD.Films_Director_ID
    WHERE F.NOUVEAUTE=1 GROUP BY F.TIT_ID ORDER BY Rand()

    N’hésites pas si tu as d'autres questions, je suis une chaise derrière toi ...

Discussions similaires

  1. ne pas afficher les doublons avec distinct sous mysql
    Par Abou Zar dans le forum Requêtes
    Réponses: 8
    Dernier message: 25/01/2012, 11h49
  2. Eviter les doublons avec la fonction rand()
    Par Adeel.dev dans le forum C
    Réponses: 3
    Dernier message: 14/05/2010, 19h40
  3. Réponses: 2
    Dernier message: 28/06/2009, 10h03
  4. afficher les doublons avec mysql
    Par oceanbigone dans le forum Requêtes
    Réponses: 10
    Dernier message: 02/10/2006, 15h57
  5. [MySQL] requete SQL avec rand()
    Par duck54 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/06/2006, 22h26

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