Bonjour

J'ai une base de donnée avec une table qui contient dans un champ plusieurs fois les mêmes noms

Donc en faisant une requête toute simple du type :

$sql = "SELECT * FROM addmessage";
$req = mysql_query($sql);
while($voir = mysql_fetch_array($req))
{
    echo $voir'suspect'];
}

Le problème de ce code, c'est qu'il m'affiche toutes les entrées et plusieurs "suspect" se répèterons plusieurs fois sachant qu'ils sont plusieurs fois dans le champ.

Existe t-il une méthode pour filtrer ça qu'il n'affiche qu'une seul fois chaque donnée même si elles sont plusieurs fois dans la table ?

Merci de vos réponse

PS : Super site, j'ai appris énormément de choses dessus !

8 réponses


Rafayil
Réponse acceptée

Alors c'est bizarre, voir ca peut être utile: Texte du lien

Si tu veux afficher tes donnée, une par une, tu dois faire ça:

$id=$_GET"id"]
$sql = "SELECT * FROM addmessage WHERE id='$id'";  
$req = mysql_query($sql);  
($voir = mysql_fetch_array($req));
   echo $voir'suspect'];

Dans ton URL ça donne: "tapage.php?id=ID"

BlackDev
Auteur

Merci de ta réponse, en faite mon problème est pas la, dans ma table il y à plusieurs suspects et certains qui ce répètent plusieurs fois, le problème c'est que je voudrait lister les suspects entré dans la table sans qu'il ne se répètent plusieurs fois.

Je ne sais vraiment pas comment faire et merci de votre aide.

Mmm, je vois pas trop désolé..

Teste de faire un COUNT et de grouper par contenu, avec HAVING COUNT(id) > 1 par exemple. Je sais pas trop si j'ai été clair XD

Salut,
tu testes avec DISTINCT :

$sql = "SELECT DISTINCT * FROM addmessage";
 $req = mysql_query($sql);
 while($voir = mysql_fetch_array($req))
 { echo $voir'suspect']; }

Bonne chance

BlackDev
Auteur

Merci pour vos réponses

J'ai essayer DISTINCT mais ça fonctionne pas, et sinon j'ai rien compris Grafikart ^^

BlackDev
Auteur

Merci beaucoup j'ai trouvé, l'erreur est qu'il fallait remplacer le * par le champ que je veut distinguer.

Ce qui donne :

$sql = "SELECT DISTINCT suspect FROM addmessage";

Merci encore, à bientôt