IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

jointure de deux tables pour un menu [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut jointure de deux tables pour un menu
    bonjour
    je fais appel à vous , j'ai un problème pour réaliser la jointure de 2 tables. je voudrais avec mon menu accordéon, afficher les résultats dans une page. j'utilise dreamweaver également.
    j'ai réussi à faire un script avec votre aide de mon menu accordéon, voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <div id="menu_gauche"> 
     <?php
    mysql_select_db($database_dream, $dream);
    $query = 'SELECT item_menu, id_menu FROM menu WHERE id_menu_dir is NULL';
    $data = mysql_query($query) or die(mysql_error());
    echo '<div id="menu">';
    $i = 1;
    while($row = mysql_fetch_assoc($data)) {
    echo '<div class="menu" id="menu' . $i . '" onclick="afficheMenu(this);"><a href="#">' . $row['item_menu'] . '</a></div>';
    $subQuery = 'SELECT item_menu FROM menu WHERE id_menu_dir =' . $row['id_menu'];
     
    $subData = mysql_query($subQuery) or die(mysql_error());
    echo '<div id="sousmenu' . $i . '" style="display:none;">';
     
    while ($subRow = mysql_fetch_assoc($subData)) {
    echo '<div class="sousmenu"><a href="#">' . $subRow['item_menu'] . '</a></div>';
    }
    echo '</div>';
    $i++;
    }
    echo '</div>';
    ?>
    </div>
    ce qui donne:
    http://galaxyweb.free.fr/catalogue.php
    les tables sont les suivantes:
    menu

    articles:

    Merci si vous pouvez me donner un coup de main.

  2. #2
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    je pense que c'est à ce niveau, de mon menu qu'il faut intégrer les modifications , code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<div class="sousmenu"><a href="#">' . $subRow['item_menu'] . '</a></div>';
    j'ai fait la requête suivante pour joindre les 2 tables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $colname_cat = "-1";
    if (isset($_GET['id_menu'])) {
      $colname_cat = $_GET['id_menu'];
    }
    mysql_select_db($database_dream, $dream);
    $query_cat = sprintf("SELECT articles.titre, articles.`description`, articles.prix, articles.photo, menu.id_menu FROM articles, menu WHERE articles.ref_menu=menu.id_menu and id_menu=%s", GetSQLValueString($colname_cat, "int"));
    $cat = mysql_query($query_cat, $dream) or die(mysql_error());
    $row_cat = mysql_fetch_assoc($cat);
    $totalRows_cat = mysql_num_rows($cat);
    je bloque à ce niveau, il faut que le lien de chaque sous menu affiche les données de la requête.

  3. #3
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    je bloque sur l'élaboration du code php qui est un lien ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<div class="sousmenu"><a href="#">' . $subRow['item_menu'] . '</a></div>';
    celui-ci doit correspondre à id_menu. ensuite avec la jointure des tables, affiche le résultat des articles.
    exemple sous menu: carrelage moderne, id_menu=4 , affichage articles , ref_menu =4 deux fois.

  4. #4
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    script terminé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     <?php
    mysql_select_db($database_dream, $dream);
    $query = 'SELECT item_menu, id_menu FROM menu WHERE id_menu_dir is NULL';
    $data = mysql_query($query) or die(mysql_error());
    echo '<div id="menu">';
    $i = 1;
    while($row = mysql_fetch_assoc($data)) {
    echo '<div class="menu" id="menu' . $i . '" onclick="afficheMenu(this);"><a href="#">' . $row['item_menu'] . '</a></div>';
    $subQuery = 'SELECT id_menu, item_menu FROM menu WHERE id_menu_dir =' . $row['id_menu'];
    $subData = mysql_query($subQuery) or die(mysql_error());
    echo '<div id="sousmenu' . $i . '" style="display:none;">';
    while ($subRow = mysql_fetch_assoc($subData)) {
    echo '<div class="sousmenu"><a href="catalogue.php?id_menu='.$subRow['id_menu'].'">' . $subRow['item_menu'] . '</a></div>';
    if (isset($_GET['id_menu']) && $subRow['id_menu'] == $_GET['id_menu']){
    echo '<script type="text/javascript">afficheMenu(document.getElementById(\'menu' . $i . '\'));</script>';
    }
    }
    echo '</div>';
    $i++;
    }
    echo '</div>';
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Jointure entre deux tables pour cherche l'absence de correspondance entre les lignes
    Par Daejung dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/02/2015, 15h48
  2. jointure sur plusieurs tables pour faire un menu
    Par labobinette dans le forum Langage
    Réponses: 3
    Dernier message: 04/03/2011, 16h10
  3. [MySQL] Jointure entre deux tables
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/10/2005, 18h55
  4. PROBLEME DE JOINTURE ENTRE DEUX TABLE
    Par DarkMax dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/01/2005, 15h11
  5. Jointure entre deux tables et résultat
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/06/2004, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo