Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 14/11/2011, 16h39   #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 menu déroulant avec base de données

bonjour
j'ai quelques connaissances en html, css, php et mysql, mais pas suffisamment car je bloque dans l'élaboration de mon projet. Sur mon site web je souhaite créer , un menu déroulant vertical genre accordéon mais couplé avec une base de données.
j'ai téléchargé le menu déroulant vertical2 dans la galerie
http://css.developpez.com/galerie/?p...-verticaux#MV1
avec un menu simple , je me suis débrouillé, mais avec des sous-menu et du javascript , je bloque pour la conception de ma base de données et les requêtes php.
je n'ai pas trouvé sur le web des tutos ou des informations qui pourraient m'aider à réaliser mon projet. je travaille également avec dreamweaver.
Avez-vous une idée du travail à accomplir.
Merci
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 18h32   #2
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Salut,

Que veux tu exactement ? les éléments du menu doivent provenir d'une base de données ? As tu déjà structurer ta base de données ?
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 23h42   #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
oui j'ai structuré ma base de données et réalisé la table suivante:

je bute concernant les requêtes sql, pour afficher les menus principaux et les sous menus correspondant.
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2011, 13h58   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 661
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 661
Points : 5 388
Points : 5 388
Deux possibilités : charger toute la base dans une seule requête et faire le "tri" en php ou charger d'abord le menu de base et pour chaque ligne de base charger les enfants (et ainsi de suite)
Personnellement, je préfère la 2e solution, mais ça implique que si tu as beaucoup de niveaux, tu auras beaucoup de requêtes.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2011, 17h11   #5
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
y aura-t -il la possibilité d'ajouter de supprimer des menus ou sous menus dans une partie administration.
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2011, 18h07   #6
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 661
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 661
Points : 5 388
Points : 5 388
Ben si tu génères ton menu à la volée à partir de la base de données, il te suffit d'une page qui te permette d'ajouter/retirer des lignes dans ta table, comme pour n'importe quelle autre table.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 00h30   #7
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
pour afficher les sous menus
Code :
1
2
3
4
5
mysql_select_db($database_dream, $dream);
$query_Recordset1 = "SELECT item_menu FROM menu WHERE menu.id_menu = menu.id_menu_dir";
$Recordset1 = mysql_query($query_Recordset1, $dream) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
à incorporer dans le html
Code :
1
2
3
<?php do { ?>
  <?php echo $row_Recordset1['item_menu']; ?>
  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
code html
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div id="menu">
	<div class="menu" id="menu1" onclick="afficheMenu(this)">
		<a href="#">Menu 1</a>
	</div>
	<div id="sousmenu1" style="display:none">
		<div class="sousmenu">
			<a href="#">Sous-Menu 1.1</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 1.2</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 1.3</a>
		</div>
		<div class="sousmenu">
			<a href="#">Sous-Menu 1.4</a>
		</div>
	</div>
à l'endroit des sous menus 1.1
mais çà ne fonctionne pas
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 10h02   #8
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
j'ai intégré ce code php dans le html pour construire mon menu hierarchique
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 <?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 = ' . $row['id_menu'];
    $subData = mysql_query($subQuery) or die(mysql_error());
    echo '<div id="sousmenu1" style="display:none;">';
    $j = 1;
    while ($subRow = mysql_fetch_assoc($subData)) {
    echo '<div class="sousmenu"><a href="#">' . $subRow['item_menu'] . '</a></div>';
    }
    echo '</div>';
    }
 
    echo '</div>';
    ?>
les menus principaux apparaissent , mais aucuns sous menus, ce doit-être au niveau de la seconde requête.
Avez-vous une idée de l'erreur?
Merci de m'aider
ideal23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 23h40   #9
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
avec ce code çà fonctionne:
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 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;">';
$j = 1;//??
while ($subRow = mysql_fetch_assoc($subData)) {
echo '<div class="sousmenu"><a href="#">' . $subRow['item_menu'] . '</a></div>';
}
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 09h42.


 
 
 
 
Partenaires

Hébergement Web