Sélectionner dans deux tables ...

Sélectionner dans deux tables ... - PHP - Programmation

Marsh Posté le 08-03-2003 à 10:46:18    

Salut a tous , j'ai un chtit probléme ...
Je voudrais selectionner des données dans deux tables (je m'explique :
- j'ai une table news avec id , auteur , titre , news
et une table membres : id , pseudo,avatar
je veut affichr ma news de la facon suivante :

Code :
  1. **Titre ** <img src="$avatar"> Par <a href=?idmembre=$id (de la table membres)>$auteur</a><br>
  2. $news


 
en bref : je veut afficher l'avatar et l'id contenue dans la table membres suivant le champ auteur" renseigné dans la table news ...
 
j'ai essayer en couplant deux scripts basiques , en vain ...
comment faire svp ?

Reply

Marsh Posté le 08-03-2003 à 10:46:18   

Reply

Marsh Posté le 08-03-2003 à 11:23:12    

voila mon code (qui ne marche pas : il m'affiche "par le"

Code :
  1. $sql = "SELECT * FROM news order by id desc"; 
  2.       $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
  3.       while($data = mysql_fetch_array($req))
  4. {
  5. $data[auteur]='$pseudo44';
  6.           echo '
  7. <div align="center"><table border="0" width="402" cellspacing="0" cellpadding="0" height="25">
  8.          <tr><td width="100%" bgcolor="#ffffff" height="25"><center>
  9.             <table border="0" width="100%" cellspacing="0" cellpadding="2">
  10.             <tr><td width="100%">';
  11. $sql = "SELECT * FROM membres WHERE pseudo='$pseudo44'"; 
  12.       $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
  13.       while($data = mysql_fetch_array($req))
  14. {
  15. echo "$data[avatar]";
  16. }
  17. echo'
  18.                        <font face="Arial" size="2"><b> Par '.$data[auteur].'</a> Le '.$data[date].'</b></font>
  19.             </td></tr>
  20.             <tr><td width="100%">
  21.             <font size="2" face="Arial">
  22.             '.$data[news].'
  23.             </font>
  24.             </td></tr></table></tr></td></table><br>
  25. ';}
  26. }

Reply

Marsh Posté le 08-03-2003 à 11:25:44    

Ouais c'est normal, faut écrire $data["auteur"] avec des guillemets :)


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 08-03-2003 à 12:27:12    

Suffit de faire une jointure :??:  
SELECT * FROM news, membres WHERE news.auteur = membres.pseudo ORDER BY news.id DESC


Message édité par mrbebert le 08-03-2003 à 12:27:27
Reply

Marsh Posté le 08-03-2003 à 21:36:47    

sur le site phpdebutant il me semble avoir vu dans un tuto pour faire une liaison entre 2 tables mais jme rapelle pu comment faire  :??:

Reply

Marsh Posté le 10-03-2003 à 22:10:38    

t a pas besoin de tuto pr les jointure simple comme ca  
 
comme a dit mrBebert :
la jointure c juste ca avec une egalité :  

Citation :

news.auteur = membres.pseudo

Reply

Marsh Posté le 10-03-2003 à 23:28:51    

plus propre de faire
select * from matable1 inner join matable2 on matable1.id = matable2.id

Reply

Sujets relatifs:

Leave a Replay

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