Probleme GET dans un menu
Bonjour,
Je fais une menu de navigation avec url rewrite. Le tout vient de la base de donnee. Le probleme est que si je code pas en "dur" dans le Htaccess tout va bien mais tout ce que j'ai en parametre url ne correspond pas des que je passe mes variables de ma requete.
En fait, j ai l impression qu il prend le parametre section pour le parametre url
Le parametre section est un array qui permet d inserer une page en fonction du nom de la section qui est gerer par le menu dont je poste la fonction.
Le parametre url est en fait, la reecriture d url qui est stockee et geree dans une base de donnees
Merci d avance de vos lumieres
David
Voici le code operationel:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
$query = "SELECT parent,id_group,name_menu,url FROM menu WHERE lang='".$_SESSION['lang']."'";
$result = mysql_query($query);
$categories = array();
while($row = mysql_fetch_array($result)) {
$categories[] = array(
'parent_id' => $row['parent'],
'categorie_id' => $row['id_group'],
'name_menu' => $row['name_menu'],
'url_rewrite' => html_entity_decode($row['url'], ENT_NOQUOTES, "UTF-8")
);
}
function show_menu($parent, $level, $array){
$html = "";
$level_previous = 0;
if(!$level && !$level_previous){
$html .= "\n<ul>\n";
}
foreach ($array as $node){
if ($parent == $node['parent_id']){
if ($level_previous < $level) $html .= "\n<ul>\n";
$html .= "\t<li><a href=\"".$node['url_rewrite']."-".$_SESSION['lang']."\">".$node['name_menu']."</a>";
$level_previous = $level;
$html .= show_menu($node['categorie_id'], ($level + 1), $array);
}
}
if(($level_previous == $level) && ($level_previous != 0)){
$html .= "</ul>\n</li>\n";
}elseif($level_previous == $level){
$html .= "</ul>\n";
}else{
$html .= "</li>\n";
}
return $html;
}
echo show_menu(0, 0, $categories); |
Mon HTACCESS qui fonctionne:
Code:
1 2
|
RewriteRule ^(fr|en|kh)/website-building$ index.php section=website_building&url=website-pictura-crea&lang=$1 [L] |
Mon HTACCESS comme je voudrais:
Code:
1 2
|
RewriteRule ^(fr|en|kh)/(.*)$ index.php?section=$2&url=$2&lang=$1 [L] |