Menu PHP avec fiche et sous menu
Mathieyx
-
Math -
Math -
Bonjour,
J'ai donc crée un site avec un menu php et sous menu mais j'ai un petit problème. Je vais commencé par montré la structure du site en gros :
Menu : Voiture
sous menu : Course , Promenade , collection etc ...
J'ai donc rajouté un systeme de fiche pour que chaque personne puise posté une fiche comme il veut.La tout se passe bien , les fiches sont bien rajouté dans la basse donné et dans les menu et sous section.
Le problème vient de la page PHP , le menu plus exactement : voici le code :
Menu :
<div class="joliblabla" style="padding-left:5px; font-size:12px"><a href="gocateg.php?x=voiture"><font color=orange>+ voiture</font></a></div>
<div class="joliblabla" style="padding-left:5px; font-size:12px"><a href="gocateg.php?x=camion"><font color=orange>+ Camion</font></a></div>
Jusqu'a la tout est ok , quand on clique dessus on arrive dans le menu gocateg avec x = le menu de notre choix.
Dans le menu gocateg y'a un maximun de 20 fiches par pages , au bout de la 21 eme fiches un numero de page se cree en bas de la page . voici le code
<font color=white>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<font color=white><a href="gocateg.php?page=' . $i . '&aaa=' . $aaa . '&bbb=' . $_GET["x"] . '&R=' . $class . '"><font color=white>' . $i . '</a> ';
}
?>
Vous l'aurez compris le problème c'est que au 1 er clic tout marche bien sur la page 2,3 ou 4 etc, j'arrive au bon endroit et bonne menu grace au $_GET["x"]
Mais le problème .. C'est que lorsque je suis sur la page 2 ou autre et que je clique sur un autre nombre , la valeur X n'est pas converser et ca donne ca dans l'adresse web :
gocateg.php?page=3&aaa=&bbb=&R= au lieu de
gocateg.php?page=3&aaa=&bbb=voiture&R=
QUe dois je faire pour que la valeur X soit converser sur chaque page et d'une page a l'autre sans pour autant melanger les rubrique sachant qu'elles passent toute par gocateg
Merci d'avance =)
J'ai donc crée un site avec un menu php et sous menu mais j'ai un petit problème. Je vais commencé par montré la structure du site en gros :
Menu : Voiture
sous menu : Course , Promenade , collection etc ...
J'ai donc rajouté un systeme de fiche pour que chaque personne puise posté une fiche comme il veut.La tout se passe bien , les fiches sont bien rajouté dans la basse donné et dans les menu et sous section.
Le problème vient de la page PHP , le menu plus exactement : voici le code :
Menu :
<div class="joliblabla" style="padding-left:5px; font-size:12px"><a href="gocateg.php?x=voiture"><font color=orange>+ voiture</font></a></div>
<div class="joliblabla" style="padding-left:5px; font-size:12px"><a href="gocateg.php?x=camion"><font color=orange>+ Camion</font></a></div>
Jusqu'a la tout est ok , quand on clique dessus on arrive dans le menu gocateg avec x = le menu de notre choix.
Dans le menu gocateg y'a un maximun de 20 fiches par pages , au bout de la 21 eme fiches un numero de page se cree en bas de la page . voici le code
<font color=white>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<font color=white><a href="gocateg.php?page=' . $i . '&aaa=' . $aaa . '&bbb=' . $_GET["x"] . '&R=' . $class . '"><font color=white>' . $i . '</a> ';
}
?>
Vous l'aurez compris le problème c'est que au 1 er clic tout marche bien sur la page 2,3 ou 4 etc, j'arrive au bon endroit et bonne menu grace au $_GET["x"]
Mais le problème .. C'est que lorsque je suis sur la page 2 ou autre et que je clique sur un autre nombre , la valeur X n'est pas converser et ca donne ca dans l'adresse web :
gocateg.php?page=3&aaa=&bbb=&R= au lieu de
gocateg.php?page=3&aaa=&bbb=voiture&R=
QUe dois je faire pour que la valeur X soit converser sur chaque page et d'une page a l'autre sans pour autant melanger les rubrique sachant qu'elles passent toute par gocateg
Merci d'avance =)
A voir également:
- Menu PHP avec fiche et sous menu
- Menu déroulant excel - Guide
- Canon quick menu - Télécharger - Utilitaires
- Fiche de pointage excel - Télécharger - Tableur
- Windows 11 menu contextuel classique - Guide
- Windows 11 menu démarrer classique - Guide
15 réponses
Mais il n'y a qu'une page pour toute les sections : gocateg.php, le reste se fait sur la base de donné.
Je vois de ce fait pas trop comment faire en fait
Je vois de ce fait pas trop comment faire en fait
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Crée cet variable au début de ta page :
Et tu corriges ton lien
$categ = $_GET['x']
Et tu corriges ton lien
<a href="gocateg.php?page=' . $i . '&aaa=' . $aaa . '&bbb=' .$categ. '&R=' . $class . '"><font color=white>' . $i . '</a>
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
</head>
<?php $loginx = $_SESSION['login']?>
<body style="background-color:rgb(171,171,171);margin-top:0px;">
<!-- DEBUT HAUT -->
<?php include("top.php");?>
<!-- FIN HAUT -->
<!-- DEBUT MILIEU-->
<center>
<table width=980><tr>
<!-- DEBUT TABLEAU GAUCHE-->
<td width=25% valign=top>
<!-- DEBUT LOGIN-->
<?php include("check.php");?>
<!-- FIN LOGIN-->
<!-- DEBUT ANNONCE-->
<?php include("annonce.php");?>
<!-- FIN ANNONCE-->
</td>
<!-- FIN TABLEAU GAUCHE -->
<!-- DEBUT TABLEAU MID-->
<td width=50% valign=top>
<!-- FIN GOCATEG -->
<?php
if (isset($_GET['x']))
{
$bbb = "genre = '" . $_GET['x'] . "'";
}
if (isset($_GET['y']))
{
$aaa = "categ ='Special'";
}
if (isset($_GET['bbb']))
{
$bbb = "genre = '" . $_GET["bbb"] . "'";
}
elseif (isset($_GET['aaa']))
{
$aaa = "categ ='Special'";
}
?>
<center><div class="menumid"><center>Section <?php echo $categ?></center></div></center><br>
<center><table style="background-color:rgb(141,141,141);"><tr><td><br>
<?php
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
$nb_col = 4;
$i = 0;
$nombreDeMessagesParPage = 20;
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
echo '<table cellpadding="1" cellspacing="0" border="0"><tr>';
$req = mysql_query("SELECT * FROM categ WHERE $aaa $bbb AND accord ='<font color=lightgreen>Activé</font>' OR $aaa $bbb AND accord ='<font
color=lightgreen>Activé</font>' ORDER BY id DESC LIMIT $premierMessageAafficher, $nombreDeMessagesParPage ");
while($dat = mysql_fetch_assoc($req)){
if($i%$nb_col == 0 AND $i != 0)
echo '</tr><tr>';
?><td style="color: white" align="center"><div class="joliblabla" style="font-size:0.6em"><center><a href="gofiche.php?id=<?php echo $dat
['id'] ?>"><img class="pub" width=100 height=140 src="<?php echo $dat['photo'] ?>"/><br/><font color=blue><?php echo stripslashes($dat
['nom']); ?></A></td>
<?php $i++;
}
echo '</tr></table>';?>
<!-- -->
<Table style="width: 440px;" cellspacing="20" cellpadding="0">
<TR style="font-family:Verdana; font-size: 11px; font-weight: bold;">
<TD style="background-color:rgb(132,134,212);">
<?php
$retour = mysql_query("SELECT COUNT(*) AS nbr1 FROM categ WHERE $aaa $bbb AND accord ='<font color=lightgreen>Activé</font>' OR $aaa $bbb
AND accord ='<font color=lightgreen>Activé</font>'");
$donnees50 = mysql_fetch_array($retour);
$totalDesMessages = $donnees50['nbr1'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo '<center><font color=white>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<font color=white><a href="gocateg.php?page=' . $i . '&aaa=' . $aaa . '&bbb=' . $_GET["x"] . '&R=' . $class .
'"><font color=white>' . $i . '</a> ';
}
?></TD>
</TR>
</Table></td></tr></table>
<!-- FIN GOCATEG -->
</td>
<!-- FIN TABLEAU MID-->
<!-- DEBUT TABLEAU DROIT-->
<td width=25% valign=top>
<!-- DEBUT MENU LISTE-->
<?php include("menu.php");?></center>
<!-- FIN MENU LISTE-->
</td>
<!-- FIN TABLEAU DROIT-->
</tr></table></center><br>
<!-- FIN MILIEU-->
<!-- DEBUT BAS-->
<!-- FIN BAS-->
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
</head>
<?php $loginx = $_SESSION['login']?>
<body style="background-color:rgb(171,171,171);margin-top:0px;">
<!-- DEBUT HAUT -->
<?php include("top.php");?>
<!-- FIN HAUT -->
<!-- DEBUT MILIEU-->
<center>
<table width=980><tr>
<!-- DEBUT TABLEAU GAUCHE-->
<td width=25% valign=top>
<!-- DEBUT LOGIN-->
<?php include("check.php");?>
<!-- FIN LOGIN-->
<!-- DEBUT ANNONCE-->
<?php include("annonce.php");?>
<!-- FIN ANNONCE-->
</td>
<!-- FIN TABLEAU GAUCHE -->
<!-- DEBUT TABLEAU MID-->
<td width=50% valign=top>
<!-- FIN GOCATEG -->
<?php
if (isset($_GET['x']))
{
$bbb = "genre = '" . $_GET['x'] . "'";
}
if (isset($_GET['y']))
{
$aaa = "categ ='Special'";
}
if (isset($_GET['bbb']))
{
$bbb = "genre = '" . $_GET["bbb"] . "'";
}
elseif (isset($_GET['aaa']))
{
$aaa = "categ ='Special'";
}
?>
<center><div class="menumid"><center>Section <?php echo $categ?></center></div></center><br>
<center><table style="background-color:rgb(141,141,141);"><tr><td><br>
<?php
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
$nb_col = 4;
$i = 0;
$nombreDeMessagesParPage = 20;
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
echo '<table cellpadding="1" cellspacing="0" border="0"><tr>';
$req = mysql_query("SELECT * FROM categ WHERE $aaa $bbb AND accord ='<font color=lightgreen>Activé</font>' OR $aaa $bbb AND accord ='<font
color=lightgreen>Activé</font>' ORDER BY id DESC LIMIT $premierMessageAafficher, $nombreDeMessagesParPage ");
while($dat = mysql_fetch_assoc($req)){
if($i%$nb_col == 0 AND $i != 0)
echo '</tr><tr>';
?><td style="color: white" align="center"><div class="joliblabla" style="font-size:0.6em"><center><a href="gofiche.php?id=<?php echo $dat
['id'] ?>"><img class="pub" width=100 height=140 src="<?php echo $dat['photo'] ?>"/><br/><font color=blue><?php echo stripslashes($dat
['nom']); ?></A></td>
<?php $i++;
}
echo '</tr></table>';?>
<!-- -->
<Table style="width: 440px;" cellspacing="20" cellpadding="0">
<TR style="font-family:Verdana; font-size: 11px; font-weight: bold;">
<TD style="background-color:rgb(132,134,212);">
<?php
$retour = mysql_query("SELECT COUNT(*) AS nbr1 FROM categ WHERE $aaa $bbb AND accord ='<font color=lightgreen>Activé</font>' OR $aaa $bbb
AND accord ='<font color=lightgreen>Activé</font>'");
$donnees50 = mysql_fetch_array($retour);
$totalDesMessages = $donnees50['nbr1'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo '<center><font color=white>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<font color=white><a href="gocateg.php?page=' . $i . '&aaa=' . $aaa . '&bbb=' . $_GET["x"] . '&R=' . $class .
'"><font color=white>' . $i . '</a> ';
}
?></TD>
</TR>
</Table></td></tr></table>
<!-- FIN GOCATEG -->
</td>
<!-- FIN TABLEAU MID-->
<!-- DEBUT TABLEAU DROIT-->
<td width=25% valign=top>
<!-- DEBUT MENU LISTE-->
<?php include("menu.php");?></center>
<!-- FIN MENU LISTE-->
</td>
<!-- FIN TABLEAU DROIT-->
</tr></table></center><br>
<!-- FIN MILIEU-->
<!-- DEBUT BAS-->
<!-- FIN BAS-->
Et voila, Désolé pour les noms de variable j'étais pas tres inspiré ....
Pour la petite explication, on stocke la variable de catégorie (voiture cmion etc...) qui ressort en 1er lieu en $_GET['x']; et on la stock dans une variable de session.
Après le code est ptet pas encore optimisé, essaye le et je ferai un fix ou deux derriere.
Ps: oui c 'est codé a la bourrin.
<?php session start(); if (!isset ($_SESSION['bob'])){ $bob = $_GET['x']; $_SESSION['bob'] = $bob; } $raoul = $_SESSION['bob']; echo '<font color=white>Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<font color=white><a href="gocateg.php?page='.$i.'&aaa='.$aaa.'&bbb='.$raoul.'&R='.$class.'"><font color=white>'.$i.'</a> '; } ?>
Pour la petite explication, on stocke la variable de catégorie (voiture cmion etc...) qui ressort en 1er lieu en $_GET['x']; et on la stock dans une variable de session.
Après le code est ptet pas encore optimisé, essaye le et je ferai un fix ou deux derriere.
Ps: oui c 'est codé a la bourrin.
Bon premier, fix..... SI l'user change de catégorie il faut bien réinitialiser ta variable de session.....
<?php session start(); if (isset($_GET['x']) && $_GET['x'] != $_SESSION['bob']){ $bob = $_GET['x']; $_SESSION['bob'] = $bob; } if (!isset ($_SESSION['bob'])){ $bob = $_GET['x']; $_SESSION['bob'] = $bob; } $raoul = $_SESSION['bob']; echo '<font color=white>Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<font color=white><a href="gocateg.php?page='.$i.'&aaa='.$aaa.'&bbb='.$raoul.'&R='.$class.'"><font color=white>'.$i.'</a> '; } ?>
En fait je pense que je place mal le code ou au mauvais endroit.
J'imagine qu'il se met dans cette partie la : <?php
$retour = mysql_query("SELECT COUNT(*) AS nbr1 FROM categ WHERE $aaa $bbb AND accord ='<font color=lightgreen>Activé</font>' OR $aaa $bbb AND accord ='<font color=lightgreen>Activé</font>'");
$donnees50 = mysql_fetch_array($retour);
$totalDesMessages = $donnees50['nbr1'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo '<center><font color=white>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<font color=white><a href="gocateg.php?page=' . $i . '&aaa=' . $aaa . '&bbb=' . $_GET["x"] . '&R=' . $class . '"><font color=white>' . $i . '</a> ';
}
?>
Mais ou exactement ? je retire quoi ? =)
Merci d'avance
J'imagine qu'il se met dans cette partie la : <?php
$retour = mysql_query("SELECT COUNT(*) AS nbr1 FROM categ WHERE $aaa $bbb AND accord ='<font color=lightgreen>Activé</font>' OR $aaa $bbb AND accord ='<font color=lightgreen>Activé</font>'");
$donnees50 = mysql_fetch_array($retour);
$totalDesMessages = $donnees50['nbr1'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo '<center><font color=white>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<font color=white><a href="gocateg.php?page=' . $i . '&aaa=' . $aaa . '&bbb=' . $_GET["x"] . '&R=' . $class . '"><font color=white>' . $i . '</a> ';
}
?>
Mais ou exactement ? je retire quoi ? =)
Merci d'avance
Salut, faute de frappe sur le session start, il y a un "_". Tu dois mettre ça tout en haut de ta page :
Apres tu utilises $raoul. C'est ta variable qui contient la valeur de ton get "x"
session_start(); if (isset($_GET['x']) && $_GET['x'] != $_SESSION['bob']){ $bob = $_GET['x']; $_SESSION['bob'] = $bob; } if (!isset ($_SESSION['bob'])){ $bob = $_GET['x']; $_SESSION['bob'] = $bob; } $raoul = $_SESSION['bob'];
Apres tu utilises $raoul. C'est ta variable qui contient la valeur de ton get "x"
coucou , je me permet de me repeté mais merci encore pour ton aide.
J'ai entré le code sur la page donc et rien ne change. il est sur la page actuellement du site , tu peux essayé voir telecharge la page si ca peut t'aidé.Toujours est il qui y'a toujours les memes bugs sur les pages :/
Une idée d'ou ca peut venir ?
encore merci pour ton aide
J'ai entré le code sur la page donc et rien ne change. il est sur la page actuellement du site , tu peux essayé voir telecharge la page si ca peut t'aidé.Toujours est il qui y'a toujours les memes bugs sur les pages :/
Une idée d'ou ca peut venir ?
encore merci pour ton aide