SQL: mysql_query()

SQL: mysql_query() - SQL/NoSQL - Programmation

Marsh Posté le 27-03-2005 à 12:45:42    

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
Reply

Marsh Posté le 27-03-2005 à 12:45:42   

Reply

Marsh Posté le 27-03-2005 à 12:48:12    

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...
Reply

Marsh Posté le 27-03-2005 à 12:54:21    

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

Reply

Marsh Posté le 27-03-2005 à 13:02:02    

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.

Reply

Marsh Posté le 27-03-2005 à 13:05:53    

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.

Reply

Marsh Posté le 27-03-2005 à 13:10:34    

utilise DISTINCT :o


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

Marsh Posté le 27-03-2005 à 13:11:22    

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

Reply

Marsh Posté le 27-03-2005 à 13:19:18    

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.

Reply

Marsh Posté le 27-03-2005 à 13:22:03    

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...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed