Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1257 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL: mysql_query()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQL: mysql_query()

n°1026691
TheBosy
Posté le 27-03-2005 à 12:45:42  profilanswer
 

Bonjour à tous,
 
Je taff en ce moment sur une galerie utilisant une base de données.
 
Voici la structure de ma ba table "galerie" qui possède 4 champs, pid, image_name, image et genre:
 

Code :
  1. champ       type          NULL   Defaut   Extra
  2. pid         int(10)       Non             auto_increment             
  3. author_name  varchar(32)   Oui    NULL               
  4. image       text          Oui    NULL               
  5. genre       text          Oui    NULL

     
 
 
Donc quand je crée des requetes, il y a le author_name (pseudo du créateur), puis l'URL de l'image et le genre (2d,3d etc..)
 
Puis enfait ce que je veux faire c'est que il liste tout les author_name qui se trouve dans la table galerie a l'aide mysql_query.
 
Voici ce que j'ai fais:
 

Code :
  1. $reponse = mysql_query("SELECT author_name FROM galerie ORDER BY author_name" ); // Requête SQL.
  2. // On fait une boucle pour lister tout ce que contient la table :
  3. while ($galerie = mysql_fetch_array($reponse) )
  4. {
  5. $image_name = $galerie['author_name'];
  6. echo "<a href='galerie_view.php'>$image_name</a>";
  7. }


 
Mais dès lors que j'ai 2 requetes avec le meme author_name, il m'affiche 2 fois le pseudo, c'est logique car comme j'ai coder c'est normal que ca fasse ca, mais j'arrive pas faire que meme si il y a 2 fois ou plus le meme author_name, il m'affiche qu'une fois le pseudo.
 
Pour que par la suite je clic sur le pseudo pour aller sur galerie_view.php et la sont afficher toutes les images de cet author_name.
 
VOilà j'éspère que j'ai été clair, si c'est pas le cas, je vous répondrai pour éclaircir celà.
 
Merci d'avance, bon dimanche à tous.


Message édité par TheBosy le 27-03-2005 à 12:59:53
mood
Publicité
Posté le 27-03-2005 à 12:45:42  profilanswer
 

n°1026695
KangOl
Profil : pointeur
Posté le 27-03-2005 à 12:48:12  profilanswer
 

1/ aucun rapport avec le php, c'est une question de sql ca
2/ titre a modifier ...
3/ regarde du coté de distinct ;)


---------------
Nos estans firs di nosse pitite patreye...
n°1026704
Merhaldir
Posté le 27-03-2005 à 12:54:21  profilanswer
 

Et si tu fais un GROUP BY author_name à la fin de ta requête ?

n°1026709
TheBosy
Posté le 27-03-2005 à 13:02:02  profilanswer
 

J'ai testé avec GROUPE BY author_name,
 
Mais après ca me donne une erreur au niveau de cette ligne:
 

Code :
  1. while ($galerie = mysql_fetch_array($reponse) )


 

Code :
  1. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ................../source/galerie.php on line 10


 
Merci.

n°1026713
Merhaldir
Posté le 27-03-2005 à 13:05:53  profilanswer
 

TheBosy a écrit :

J'ai testé avec GROUPE BY author_name,
 
Mais après ca me donne une erreur au niveau de cette ligne:
 

Code :
  1. while ($galerie = mysql_fetch_array($reponse) )


 

Code :
  1. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ................../source/galerie.php on line 10


 
Merci.


 
Si t'as mis GROUPE BY  c'est normal  :D !! Mais pourtant un GROUP BY devrait empêcher d'y avoir plusieurs fois le même auteur. Essaie déjà sans le ORDER BY pour tester.

n°1026714
KangOl
Profil : pointeur
Posté le 27-03-2005 à 13:10:34  profilanswer
 

utilise DISTINCT :o


---------------
Nos estans firs di nosse pitite patreye...
n°1026715
Merhaldir
Posté le 27-03-2005 à 13:11:22  profilanswer
 

En fait quand j'y pense, si t'affiche ligne par ligne, c'est normal que ça puisse pas marcher. Si t'essayais de faire un select de tes auteurs en ordre et dans une boucle ( auteur par auteur ) t'affiches les informations associés à l'auteur en faisant un SELECT ...  WHEN author_name=$row['author_name']; !
Je dis ça mais c'est ptet n'importe quoi en fait lol

n°1026720
TheBosy
Posté le 27-03-2005 à 13:19:18  profilanswer
 

Enfait meme pas besoin,  
 
mysql_query("SELECT author_name FROM galerie GROUP BY author_name ORDER BY author_name" );  
 
J'ai mis le ORDER BY à la fin et ca marche.  
 
Merci à vous tous pour votre aide.

n°1026722
KangOl
Profil : pointeur
Posté le 27-03-2005 à 13:22:03  profilanswer
 

j'ai l'impression d'etre en mode furtif...
 

select distinct author_name from galerie order by author_name;


---------------
Nos estans firs di nosse pitite patreye...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL: mysql_query()

 

Sujets relatifs
[PHP][MySQL] Pb stupide : retour chariot[PHP][MySql] problème de connection à la bdd
[mysql][au secours] lancement de mysqlMysql : après DELETE la base garde la même taille et problème d'Id
[XML/PHP/SQL] Formulaire dynamique + base de données: quel logiciel[MySQL/DB2] Migration
[MySql]Pb syntaxe que j'arrive pas a résoudre[MySql - Access] Problèmes de dates
installer MySQL sous mandrake[mysql] No SQL query!
Plus de sujets relatifs à : SQL: mysql_query()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR