Vous n'êtes pas identifié.
Bonjour tous,
Alors voila j'ai réussi à faire mon site via votre tuto, un GRAND merci.
Mais la je suis confronter à un énorme problème, en effet j'aimerai que mes menu soit directement dans une liste déroulante.
Affichage des catégorie.
Navigation du site / Information / Service
Et dans chaque catégorie, les pages, enfin les sous menu.
Alors j'ai fait comme sa, mais le résulta est pas bon, d'une part parce que la j'ai pas encore fait une jointure et cela me donne un menu déroulant comme pour un formulaire, se que je veux pas hi !
Merci de votre aide !
<?php
$req="select * from CATEGORIE";
$res=mysql_query($req) or die("erreur dans la requête $req");
while ($tab=mysql_fetch_object($res))
$nom_cat[]=$tab->id;
echo "<center><select name='liste_nomcat[]' multiple size=0>";
for ($i=0;$i<count($nom_cat);$i++)
echo "<option value='$nom_cat[$i]'>$nom_cat[$i]</option>";
echo "</select></center>";
?>Dernière modification par c00lman (04-03-2010 13:31:02)
Hors ligne

Salut,
Je crains ne pas avoir tout saisie ^^.
Pourquoi utiliser une boucle for() au lieu des id de votre table ??
Ci dessous, le code pour afficher les catégories (comme je le fait)
<?php
echo '<select name="liste_nomcat">
<option value="">Sélectionnez une catégorie</option>';
//On sélectionne les catégories
$categorie = mysql_query("SELECT id,nom_cat FROM CATEGORIES ORDER BY id ASC");
//On boucle et on affiche les données dans notre liste
while($affiche = mysql_fetch_array($categorie))
{
echo '<option value="'.$affiche['id'].'">'.$affiche['nom_cat'].'</option>';
}
echo '</select>';
?>Comme tu parles de jointure, je suppose que tu veux afficher en plus le titre des pages associées à chaque catégorie (plutôt bizarre comme façon de faire) et dans ce cas, il faut connaître le nom de la table et ses champs ainsi que le nom du champ qui permet de faire la jonction entre les tables.
Ceci dit, je suis une brèle en jointure alors je me contente de doubler voir tripler les requêtes ... mais j'essaye d'y remédier en ce moment même ^^!
Hors ligne
Bonjour c00lman,
Non en faite si je veux faire une jointure c'est simplement pour associer la table catégorie à la table article pour le menu, sinon oui on peux faire directement une requette en plus dans le while.
Mais en faite se que j'essai de vouloir comme résulta, est d'avoir toute mes catégorie afficher en haut du site par exemple, et à chaque catégorie il y a c'est sous menu, donc les articles qui corresponde au catégorie.
Un peux comme sur le site de rueducommerce en haut, quand on passe notre souris sur une catégorie, informatique par exemple, on liste déroulante s'affiche.
Voila, merci en tout cas de ton aide.
Hors ligne
Dans ce cas, c'est un menu en CSS qu'il faut utiliser et non un menu sous forme de "select".
Par exemple, tu peux tenter la chose à partir de ce menu http://www.cssmenumaker.com/builder/men … p?menu=057 .
Tu fais tes requêtes et tu fais ensuite en sorte que les catégories s'affichent horizontalement dans la barre du menu puis pour chaque catégorie tu affiches les sous-cat. correspondantes (en modifiant le style css pour changer la couleur de la sous-cat) puis les pages associées.
<div class="menu">
<ul>
<li><a href="#">Accueil</a></li>
<li><a href="#">Catégorie 1</a>
<ul>
<li><a class="toto" href="#">Sous catégorie 1</a></li>
<li><a href="#">page 1</a></li>
<li><a class="toto" href="#">Sous catégorie 2</a></li>
<li><a href="#">Page 1</a></li>
</ul>
</li>
<li><a href="/faq.php">Catégorie 2</a>
<ul>
<li><a class="toto" href="#">Sous catégorie 1</a></li>
<li><a href="#">Page 1</a></li>
<li><a href="#">VPage 2</a></li>
<li><a href="#">Page 3</a></li>
</ul>
</li>
</ul>
</div>En ajoutant une class="toto" à la feuille de style au sous catégorie, tu change la couleur de fond pour bien dissocier les pages des sous catégories..
Hors ligne
A ok c'est avec du css, merci alors !
La part contre je ne voie pas par ou commencer, ail ail !
Dernière modification par nicost (04-03-2010 14:13:35)
Hors ligne
Tu commence par tes requêtes via jointure si tu est doué ou par succession de requête
->Requête pour sélectionner les catégories
->Requête pour sélectionner les sous catégories en fonction des catégories
->Requête pour sélectionner les pages en fonction des sous catégories
Avec le type de menu css mis en lien plus haut, ça doit ensuite donner un truc du style:
<div class="menu">
<?php
while(si jointure)
{
echo ' <ul>
//Catégorie horizontale
<li><a href="#">'.$categorie.'</a>
<ul>
//Sous Catégorie verticale
<li><a class"sous-cat" href="#">'.$souscat.'</a></li>
//Titre verticale
<li><a href="#">'.$titre.'</a></li>
</ul>
</li>
</ul>';
}
?>
</div>Hors ligne
Ok, merci !
J'ai réussi sa fonctionne, juste un petit problème d'affiche mais je vais bien trouver le pourquoi.
Merci en tout cas !
Hors ligne
Donc voila j'ai bien mes liens et catégorie, j'ai fait directement une jointure.
Le problème est que mes liens normal du site, ne son plus ou plus moins pris par css.
Du coup dans mon index ou j'ai des liens, ils on sans style css, or le style est appelez.
J'ai donc changer le nom du style du menu, mais rien à faire.
L'autre problème, est que je suis obliger de mettre en entête :
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Et la, j'ai tous mes tableaux avec fon, completement décallé.
Une idée ?
Merci et bonne soirée.
Dernière modification par nicost (04-03-2010 21:05:14)
Hors ligne
Sans rien voir, je ne peux pas vraiment m'avancé mais j'opterais quand même pour un conflit dans le CSS.
Sinon, un DOCTYPE est obligatoire afin que le document soit correctement interprété, essayez celui-ci :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Language" content="fr" /> ....
Tant que j'y suis, évitez les tableaux pour la mise page ..c'est "hasbeen" et préférez le css (même si c'est plus chiant
)
ps: je serais curieux de voir la tête de votre jointure (pour ma culture perso).
Hors ligne
Ok c'est réglé pour mes liens, c'était bien un problème avec le css.
Sinon ben voila ma jointure.
mysql_query ("SELECT nom_categorie, o.id_categorie FROM newsarti AS o LEFT JOIN rub AS r
ON o.id_categorie = r.id ORDER BY id");Autrement ben j'ai justement un décalage avec mon arrière plan d'image, qui est dans un tableau
, moi et le css ail !
En faite il part un peu trop un bas, comme si que le menu était trop large ou trop grand.
Voila ma style, si des fois que.
De plus je trouve le style bien long pour un simple menu.
.menu {
border:none;
border:0px;
margin:0px;
padding:0px;
font-weight:bold;
}
.menu ul{
list-style:none;
margin:0;
padding:0;
}
.menu li{
float:left;
padding:0px;
}
.menu li a{
color:#cccccc;
display:block;
font-weight:normal;
line-height:20px;
margin:0px;
padding:0px 10px;
text-align:center;
text-decoration:none;
}
.menu li a:hover, .menu ul li:hover a{
color:#FFFFFF;
text-decoration:none;
}
.menu li ul{
display:none;
padding:0px;
margin:0px;
border:0px;
position:absolute;
}
.menu li:hover ul{
display:block;
}
.menu li li {
display:block;
float:none;
margin:0px;
padding:0px;
}
.menu li:hover li a{
background:none;
}
.menu li ul a{
display:block;
height:20px;
font-size:12px;
font-style:normal;
margin:0px;
padding:0px 10px 0px 15px;
text-align:left;
}
.rub li ul a:hover, .menu li ul li:hover a{
border:0px;
color:#ffffff;
text-decoration:none;
}
.menu p{
clear:left;
}Merci d'utiliser le bouton
pour les codes.
Dernière modification par c00lman (05-03-2010 00:12:53)
Hors ligne
Rhalala .. y a pas à dire, j'ai vraiment du mal avec les jointures ... je pourrais presque assimiler ça à du chinois .. pour dire à quelle point j'ai les neurones qui fumes à la lecture de celle-ci
!
Pour le décalage, peut être en réduisant la hauteur de celui-ci height:20px; .. et si le style css du menu est aussi long, faut dire qu'il est plutôt complet, joli et sans Javascript .. d'où sa longueur 
Hors ligne
C'est bon, problème résolu !
Désoler pour le code, j'ai pas vraiment chercher 
Oui et bien idem, je nage toujours avec les jointures, faudrai en faire tous les jours.
Merci en tout cas de ton aide et de ta patience c'est sympas 
Désoler pour les fautes 
Hors ligne
nicost a écrit:
Merci en tout cas de ton aide et de ta patience c'est sympa
De rien, quand ont peut aider, ont le fait et quand ont peut pas ... bhinn ont peut pas
!
Pour les jointures, en ce moment je me casse la tête à convertir une triple requête en une double jointure dont la 1ere à une LIMIT de 1,7 et la seconde de 0,5 ..le tout classé par "rang" sans oublier les "allias" pour les champs identiques
...une vraie saloperie
^^.
Bon, à la prochaine ;)
Hors ligne
Propulsé par PunBB
© Copyright 2007
Forum créer un site