[Résolu] Mysql : Select avec un except

  • Auteur de la discussion Auteur de la discussion h4ni
  • Date de début Date de début
WRInaute occasionnel
Bonsoir

sur ma page "article" j'essaye d'afficher aleatoirement tous les autres articles qui sont dans la meme categorie
pour cela j'ai fais un

Code:
SELECT DISTINCT * FROM articles WHERE cat ='{$row['cat']}' ORDER BY RAND() LIMIT 8;
seulement je voulai faire de sorte que l'article qu'on est entrain de lire n'aparai pas dans cette selection
j'ai beau chercher un moyen de faire un EXCEPT avec mysql mais sans resultat
quelqu'un a une idée?
 
WRInaute discret
Code:
SELECT DISTINCT * FROM articles WHERE cat ='{$row['cat']}' and id_article!='".$article."' ORDER BY RAND() LIMIT 8;

id_article étant le nom du champs de la table article, et $article la valeur de l'article courant correspondant à ce même champs.

@+
 
WRInaute occasionnel
Merci Hearty
ca marche tres bien
cependent j'ai un autre problem, je croit que c'est a cause du ORDER BY RAND()

ca m'affiche des fois, un article en double!

quelqu'un a une idée?
 
WRInaute discret
C'est pas normal avec le disctinct, mais bon, dans le doute, et sans connaitre ta table je te dirai de faire comme çà :

Code:
SELECT DISTINCT * FROM articles WHERE cat ='{$row['cat']}' and id_article!='".$article."' group by id_article ORDER BY RAND() LIMIT 8;

Mais le plus propre est de voir pourquoi il sort en double ;)
 
Discussions similaires
Haut