menu dynamique - pb d'affichage

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : menu dynamique - pb d'affichage

par guilt92 » 22 sept. 2008, 09:43

Bonjour,

Cela me semble tout a fait logique vu que tu fais, dans l ordre :
Affichage des 2 catégories
Affichage des artistes par catégorie
Affichage du sous menu par artiste

Donc c'est l'ordre dans lequel ca apparait...
Il faut mélanger l'ordre d'apparation pour l'avoir au bon endroit.

Aussi, petite remarque :
$artiste_id = $_GET['id']; 
 if (isset($_GET['id'])){ 
Tu testes l'existence d'une variable après l'avoir assignée à une autre variable, il faudrait plutot faire
 if (isset($_GET['id'])){
$artiste_id = $_GET['id'];  
Et pour ton code, l'idée serait de faire :
//Affichage de la catégorie
while(....) {
//dans ce while d'affichage 
//SI la $_GET["id"] ET que cela correspond à la catégorie en cours
if(isset(......) && ...) {
//Affichage du sous menu
}
}
C'est cet agencement la qu'il faut mettre en place, et trouver la bonne condition pour savoir quand tu es dans la bonne catégorie par rapport à ton $_GET["id"];

menu dynamique - pb d'affichage

par wik » 20 sept. 2008, 12:33

Bonjour,

j'ai créé un menu avec 2 grandes catégories : "projets" et "affiliés", pour lesquels une liste des artistes s'affiche pour chacune. Lorsque je clique sur un artiste spécifique (avec GET), je veux que son sous-menu spécifique apparaisse...
Le souci est lorsque je clique, le menu de l'artiste apparaît, mais pas au bon endroit... Il se met à la fin de chacune des 2 catégories.

Quelq'un peut-il m'aider ? Ca fait des jours que je me prends la tête dessus, sans succès... C'est certainement un truc idiot, mais je ne vois pas...
Merci !

Voici le code :
<table width="170" border="0" cellspacing="0" cellpadding="0" align="left" class="txt7noir">
  <?php
     // AFFICHAGE DES 2 CATEGORIES
$requete = mysql_query ("SELECT * FROM menu ORDER BY menu_order");

while ($resultat = mysql_fetch_array($requete)) {
 echo '<tr> 
    <td width="5">&nbsp;</td>
    <td width="160" colspan="2">&nbsp;</td>
    <td width="5">&nbsp;</td>
  </tr>
  <tr> 
    <td width="5">&nbsp;</td>
    <td width="160" colspan="2" class="txt8noirGras">--------------------------<br>
     '.strtoupper($resultat[menu_titre]).'</td>
    <td width="5">&nbsp;</td>
  </tr>
    <tr> 
    <td width="5">&nbsp;</td>
    <td width="160" colspan="2">&nbsp;</td>
    <td width="5">&nbsp;</td>
  </tr>' ; 

 	// AFFICHAGE DES ARTISTES / CATEGORIE
	$requete2 = mysql_query ("SELECT a.artiste_id, a.artiste_nom FROM artiste a LEFT JOIN menu m ON (a.menu_id = m.menu_id) WHERE a.menu_id = '".$resultat[menu_id]."' ORDER BY a.artiste_order") or die('Erreur : ' . mysql_error());
	
	while ($resultat2 = mysql_fetch_array($requete2)) {
 $artist=preg_replace('/\s/', '_', $resultat2[artiste_nom]);
 
 if ($resultat[menu_id] == '1') {
 $res = '<a href="projects.php?id='.$resultat2[artiste_id].'&artist='.$artist.'">'.$resultat2[artiste_nom].'</a>';
 } else {
 $res = '<a href="related_artist.php?id='.$resultat2[artiste_id].'&artist='.$artist.'">'.$resultat2[artiste_nom].'</a>';
	}
	
		echo '<tr>
    <td width="5">&nbsp;</td>
    <td width="160" colspan="2" class="txt8noir">'.$res.'</a></td>
    <td width="5">&nbsp;</td>
  </tr>';
 
 }

 // AFFICHAGE DU SOUS-MENU PAR ARTISTE
 $artiste_id = $_GET['id'];
 if (isset($_GET['id'])){
	$requete3 = mysql_query ("SELECT DISTINCT m2.menu2_titre FROM artiste_infos ai LEFT JOIN artiste a ON (a.artiste_id = ai.artiste_id) LEFT JOIN menu2 m2 ON (m2.menu2_id = ai.menu2_id) WHERE ai.artiste_id = '".$artiste_id."' ORDER BY m2.menu2_order") or die('Erreur : ' . mysql_error());
	
	while ($resultat3 = mysql_fetch_array($requete3)) {

echo '<tr> 
          <td width="5">&nbsp;</td>
          <td width="20">&nbsp;</td>
          <td width="140"><a href="#live">'.$resultat3[menu2_titre].'</a><br></td>
          <td width="5">&nbsp;</td>
        </tr>';
}
 }
 }

?>
</table>