ragazzi ci risiamo vi prego mi potete aiutare? ho sempre lo stesso problema con il menu:
io ho un menu principale con 10 categorie, ogni voce ha id diverso es:
Casa: categoria.php?id=1
Arredamento: categoria.php?id=2
a questo punto mi ricavo tramite l'id della pagina, la sub_categoria e faccio:
codice PHP:
Codice PHP:
<?
$id = isset($_GET['id']);
$query=mysql_query("Select * from sub_categoria where id_categoria = $id");
while($array=mysql_fetch_array($query)){
$id_sub_categoria = $array['id'];
// Stampo a video la Sub_categoria
?>
- [b][url="#"]<? echo $array['nome'] ?>[/url][/b]
<?
// Ora tramite id_sub_categoria mi recupero tutti i prodotti di ogni sub_categoria
$query2=mysql_query("Select * from prodotti where id_sub = $id_sub_categoria");
while($array=mysql_fetch_array($query2)){?>
-- [url="prodotto.php?id=<? echo $array['id'] ?>"]<? echo $array['nome'] ?>[/url]
<?
}
}
?>
Ecco il tutto, mi serve join per mostrare i dati in quel menu! Cmq la struttura è composta cosi:
Tab_Categorie = id, nome
Tab_Sub_categorie = id, nome, id_categoria
Tab_Prodotti = id, nome,testo, id_sub
Ovviamente cosi non funziona, si deve fare come avete fatto voi precedentemente:
Codice PHP:
<?
$sql = "SELECT nome, titolo, sub_categoria.id AS subcat_id
FROM categoria
LEFT JOIN sub_categoria
ON categoria.id = sub_categoria.id_categoria";
$res = mysql_query($sql);
$output = array();
while ( $record = mysql_fetch_object($res) ) {
$output[$record->nome][] = array(
'id' => $record->subcat_id,
'titolo' => $record->titolo,
);
}
?>
<ul id="menu">
<?php foreach ( $output as $cat => $subcats ): ?> [*][url="#"][b]<?php echo ucfirst(strtolower($cat)); ?>[/b] [/url]
<ul>
<?php foreach ( $subcats as $subcat ): ?> [*][url="prodotto.php?id=<?php echo $subcat['id']; ?>"]- <?php echo ucfirst(strtolower($subcat['titolo'])); ?>[/url]
<?php endforeach; ?> [/list]
<?php endforeach; ?> [/list]
a differenza di qui devo mostrare io le sotto categorie e i prodotti.