PHP/MYSQL selection en double

Résolu/Fermé
Utilisateur anonyme - 12 oct. 2007 à 23:03
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 - 14 oct. 2007 à 11:18
Bonjour,

Je travaille actuellement sur un système de blog pour mon site perso...
Voila j'expose la situation en essayant de ne rien oublier:

Apres avoir creer un compte sur le site( nom_compte dans la table membres dans la bdd), la personne peut choisir de télécharger ses photos dans un dossier specifiquement créé pour elle (dossier nom_compte). Sur ces même photos, le "propriétaire" de la photo peut rajouter des infos (par exemple: photo de vacances)(dans la table images_infos qui saisi aussi nom_compte).

Ensuite tout les autres visiteurs peuvent y avoir acces, sans probleme.
j' ai donc voulu faire un systeme, qui ensuite trie les photos par infos justement pour par exemple ressortir toutes les photos de vacances de tout les membres. C'est la que ca coince car si un membre met x photos de vacances, il apparaitra x fois sous le même nom_compte et infos dans la table images_infos . Donc quand je veux ressortir le nom des membres qui ont des photos de vacances, je veux voir apparaitre qu'une fois le nom du membre et pas x fois parce qu'il a x photos portant cette info.

Je sais pas si c'est tres clair comme explication... alors un peu de code s'impose...
$photode = $_GET['photode']; 
/* simple variable get pour recuperer ce que l'on choisit: vacances (dans nôtre exemple) */
$query = 'SELECT nom_compte FROM images_infos WHERE infos=\''.$photode.'\''; 
/* selection du nom_compte dans images_infos pour les photode vacances */
$resultat = mysql_query($query);

while ($affiche_galerie = mysql_fetch_array($resultat))
{ echo $affiche_galerie['nom_compte'] ; } 
/*voila cette boucle me retourne x fois le nom_compte d'un membre qui aurait x photos de vacances*/


J'ai essayé toutes les boucles possibles et imbrications de boucle, dans tout les sens et rien n'y donne, j'ai même tenté d'utiliser la fonction array_unique mais je l'utilise peut etre mal... enfin bref je pense pas que la solution sois inaccessible mais elle m'échappe. Alors si vous pouvez m'aidez je vous en remercie.
A voir également:

3 réponses

sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
12 oct. 2007 à 23:27
bonjour

utilise distinct

$query = 'SELECT distinct(nom_compte) FROM images_infos WHERE infos=\''.$photode.'\'';
0
Utilisateur anonyme
13 oct. 2007 à 03:41
Merci Sfel, ta solution marche à merveille.

Je ne connaissais pas la clause DISTINCT qui à réglée mon problème.
Voilà je recapitule le code source:
$photode = $_GET['photode']; 
$query = 'SELECT distinct(nom_compte) FROM images_infos WHERE infos=\''.$photode.'\''; 
$resultat = mysql_query($query);

while ($affiche_galerie = mysql_fetch_array($resultat))
{ echo $affiche_galerie['nom_compte'] ; } 


Tout simplement... et encore un grand MERCI.
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
14 oct. 2007 à 11:18
de rien.
0