PHP5.3.0/MySQL5.1.36 Impossible de créer un catalogue présentable !!

PHP5.3.0/MySQL5.1.36 Impossible de créer un catalogue présentable !! - PHP - Programmation

Marsh Posté le 06-10-2009 à 17:00:39    

Bonjour,
 
Je suis actuellement en stage en entreprise (je suis étudiant à l'eXia de Pau), et je suis chargé de refaire le site web de la boite.
 
Il m'a été demandé de réaliser une page qui présente les différents articles de l'entreprise, sans faire de panier ou d'interface de commande.
 
Je dois juste faire un catalogue en fait ...
 
J'utilise WAMP2.0, avec PHP5.3.0 et MySQL5.1.36.
 
Je stocke les articles dans une base de données, avec une table 'article', qui contient 2 articles, avec leurs carctéristiques (prix, modéle, ...), et elle contient aussi 2 clés étrangères des tables 'cat_article' et 'marque_article'. Dans ces 2 tables j'ai un id (clé primaire) et un nom (de marque ou de catégorie).
 
et voici mon code :
 

Code :
  1. <?php
  2.  $cxn = mysqli_connect($serveur, $user, $password, $bdd);
  3.  $sql = "SELECT * FROM article, cat_article, marque_article";
  4.  $query = mysqli_query($cxn, $sql) or die(mysqli_error($cxn));
  5.  while ($donnees = mysqli_fetch_array($query))
  6.  {
  7.   echo "<h2>".$donnees['ART_NOM']."</h2><br />".$donnees['CAT_NOM']."<br />".$donnees['MARQUE_NOM']."<br />".$donnees['ART_MODELE']."<br />".$donnees['ART_DESCRIPTION'];
  8.  }
  9.  mysqli_close($cxn);
  10. ?>


 
Et ça n'affiche pas du tout ce que je veux, je n'ai que 2 articles, et il affiche plusieurs fois les 2 articles en mélangeant la marque et la catégorie...
 
Selon moi, l'erreur viens du WHILE et de la requête, mais après une journée de bidouillages, et de recherches, je ne trouve toujours pas ...
 
Ci-joint, le MCD.
 
http://free0.hiboox.com/images/4109/5733a80ea5df7130ef02f0f4c7ef4245.jpg
 
Merci d'avance de votre aide.


Message édité par T-Kila64 le 06-10-2009 à 17:04:06
Reply

Marsh Posté le 06-10-2009 à 17:00:39   

Reply

Marsh Posté le 06-10-2009 à 18:02:36    

Ben en fait, je viens de trouver le problème, c'était une erreur de requête, je demandais les id de catégorie et de marque en doublons.il suffit de rajouter "WHERE article.CAT_ID = cat_article.CAT_ID AND article.MARQUE_ID = marque_article.MARQUE_ID" à la fin de la requête pour qu'il fasse le lien avec les articles.

Reply

Marsh Posté le 07-10-2009 à 11:34:10    

Avec des jointures, ça marche bien aussi :o
 
Regarde du côté de INNER JOIN et de ce genre de chose :jap:

Message cité 1 fois
Message édité par kao98 le 07-10-2009 à 11:34:35

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 07-10-2009 à 15:44:00    

Un un outil GPL style Magento (boutique en ligne), ça t'irait pas? http://www.magentocommerce.com/demo
 
Suffit juste de désactiver la partie prix et processus de commande. pas la peine de réinventer la roue à mon avis.


---------------
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 07-10-2009 à 16:00:50    

kao98 a écrit :

Avec des jointures, ça marche bien aussi :o
 
Regarde du côté de INNER JOIN et de ce genre de chose :jap:


 
Dans le where, ce sont bel et bien des jointures. C'est la syntaxe old-school, c'est tout.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-10-2009 à 16:06:07    

skeye a écrit :


 
Dans le where, ce sont bel et bien des jointures. C'est la syntaxe old-school, c'est tout.


Je sais, c'est pour ça que j'ai précisé de chercher du côté des INNER JOIN.
 
J'espérais secrètement que ça passerait inaperçu :o


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Sujets relatifs:

Leave a Replay

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