Menu PHP avec fiche et sous menu

Mathieyx -  
 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 =)

A voir également:

15 réponses

Utilisateur anonyme
 
Tu lui insigne un ID
0
Mathieyx
 
Comment je dois le faire et ou ?
0
Utilisateur anonyme
 
Non pardon.
Tu crée une variable qui prend la valeur de ton $_GET['x'] dans chaque page
0
Mathieyx
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Crée cet variable au début de ta page :
$categ = $_GET['x']

Et tu corriges ton lien
<a href="gocateg.php?page=' . $i . '&amp;aaa=' . $aaa . '&amp;bbb=' .$categ. '&amp;R=' . $class . '"><font color=white>' . $i . '</a>
0
Mathieyx
 
ok merci j essaye ca et te dit =)
0
Mathieyx
 
je l'insere comment la variable sur le haut de la page ? J'ai essayé mais y'a rien a faire.
0
Utilisateur anonyme
 
Envois le code de ta page si ca ne te dérange pas
0
Mathieyx
 
Voilà pour le code de la page complet gocateg.php
0
Mathieyx
 
<?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-->
0
Utilisateur anonyme
 
Je regarde a un peu plus tard... désolé
0
Mathieyx
 
si quelqu'un a une autre idée pendans ce temps ... merci
0
Utilisateur anonyme
 
Explique moi ce que sont les variables aaa et bbb
0
Mathieyx
 
Je ne sais pas , c'etait un ami qui m'avait fait le site y'a plusieurs moi et il avait pas vu le bug des pages et depuis je ne le vois plus
0
Utilisateur anonyme
 
C'est un site hebergé sur internet ou il est en local sur ton ordi ??
0
Utilisateur anonyme
 
T'es en local ou t'es hebergé ??
0
Mathieyx
 
http://www.directdl.eu/
0
Utilisateur anonyme
 
Ah d'accord...
0
Mathieyx
 
N'est ce pas ? =)
0
Mathieyx
 
Y'a pas moyen de le modifié alors au final ?
0
Utilisateur anonyme
 
Si si faut que je travaille dessus...
0
Mathieyx
 
Ca a l'air compliqué , quoi qu'il arrive merci beaucoup pour ton aide =)
0
Mathieyx
 
personne n a d idée svp ?
0
Mathieyx
 
up
0
Mathieyx
 
klk191 tjr la ?
0
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
salut !

Bon j'ai 20 minutes !

Bon déja un tableau dans un tableau ca commence pas tres bien :)
0
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
Et voila, Désolé pour les noms de variable j'étais pas tres inspiré ....
<?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.
0
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
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> '; 
} 
?> 
0
Mathieyx
 
Merci c'est gentil =), je l'essaye tout de suite et te previent du resultat !
0
Mathieyx
 
j'ai remplacé donc l'ancien par le nouveau voilà le resultat : Parse error: syntax error, unexpected T_STRING in /vhosts/directdl.eu/httpdocs/gocateg.php on line 126
0
Mathieyx
 
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
0
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
Salut, faute de frappe sur le session start, il y a un "_". Tu dois mettre ça tout en haut de ta page :
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"
0
Mathieyx
 
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
0
math
 
ptit up
0
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
Quelle est l'adresse du site ? :)
0
Math
 
http://www.directdl.eu , désolé pour le retard
0
Math
 
Up
0