Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/12/2011, 17h59   #1
Membre confirmé
 
Inscription : octobre 2006
Messages : 340
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 340
Points : 221
Points : 221
Envoyer un message via MSN à ideal23
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 :
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.
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2011, 09h47   #2
Membre confirmé
 
Inscription : octobre 2006
Messages : 340
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 340
Points : 221
Points : 221
Envoyer un message via MSN à ideal23
je pense que c'est à ce niveau, de mon menu qu'il faut intégrer les modifications , code:
Code :
echo '<div class="sousmenu"><a href="#">' . $subRow['item_menu'] . '</a></div>';
j'ai fait la requête suivante pour joindre les 2 tables:
Code :
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.
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 14h41   #3
Membre confirmé
 
Inscription : octobre 2006
Messages : 340
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 340
Points : 221
Points : 221
Envoyer un message via MSN à ideal23
je bloque sur l'élaboration du code php qui est un lien ici:
Code :
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.
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 14h05   #4
Membre confirmé
 
Inscription : octobre 2006
Messages : 340
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 340
Points : 221
Points : 221
Envoyer un message via MSN à ideal23
script terminé
Code :
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>';
?>
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h05.


 
 
 
 
Partenaires

Hébergement Web