Problème script php tables croisées

Problème script php tables croisées - PHP - Programmation

Marsh Posté le 09-01-2013 à 19:19:44    

Bonjour,
Je sollicite votre aide car je bloque sur un script. Je pense que c'est assez facile pour les codeurs mais comme je suis novice et que j'apprends sur le tas, j'ai un peu de mal.
 
Je souhaite afficher les derniers commentaires sur mes photos sur ma page d'accueil.
 
Pour cela, je dois extraire les données de deux tables :
table photos_comments : image_id, com_id, com_crtdt, com_message, com_author
table photos_images : image_id, image_url
 
J'ai pu extraire les données que je veux dans la table photos_comments (voir script ci-dessous), mais il me faut aussi image_url (de la table photos_image). Je ne sais pas comment faire, c'est un truc croisé
 
Si quelqu'un veut bien me donner un petit coup de pouce, ce serai sympa. Merciiiiii
 

Code :
  1. <?
  2. // Definition des identifiants de connexion
  3. $DBHOST='sql2'; // Serveur Mysql
  4. $USEBDD='monsite_galerie'; // Base de donnée utilisée
  5. $USER='monsite'; // Administrateur de la bdd
  6. $PASSWORD='motdepasse'; // Mot de passe d'accès à la bdd
  7. // Connexion à MySQL :
  8. $link = mysql_connect($DBHOST,$USER,$PASSWORD);
  9. $db = mysql_select_db($USEBDD,$link);
  10. // Extraction
  11. $requete="SELECT date_format(com_crtdt, 'le %d/%m/%y à %Hh%s') as com_crtdt, com_message, com_author, image_id FROM photos_comments WHERE com_status='1' ORDER BY com_id desc LIMIT 12";
  12. $result=mysql_db_query("monsite_galerie",$requete);
  13. // Affiche resultats
  14. while($voir=mysql_fetch_array($result))
  15. {
  16. $com_message_court= htmlspecialchars(substr($voir['com_message'], 0, 55)) . "...";
  17. $com_author = htmlspecialchars($voir['com_author']);
  18. $com_crtdt = htmlspecialchars($voir['com_crtdt']);
  19. $image_id = htmlspecialchars($voir['image_id']);
  20. echo "<a href=\"photos/?q=image/$image_id-$image_url\" target=\"_self\">".$com_message_court."</a><br>
  21. ";
  22. }
  23. ?>


Reply

Marsh Posté le 09-01-2013 à 19:19:44   

Reply

Marsh Posté le 10-01-2013 à 09:48:29    

Ca s'appelle une jointure (INNER JOIN, je te laisse le soin de parcourir la doc de Mysql pour que tu comprennes par toi-même). L'inconvénient d'apprendre sur le tas sans apprendre avant un minimum les concepts de base, c'est qu'on bute rapidement sur des pbs basiques.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-01-2013 à 10:48:20    

Bonjour,
Oui les jointures est nécessaires dans votre cas:
http://sqlpro.developpez.com/cours/sqlaz/jointures/


---------------
Besoin d'aide pour votre projet? agence web
Reply

Sujets relatifs:

Leave a Replay

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