è (più o meno) esattamente così!!!
il mio problema sta nel fatto che possono esserci voci "libri" e/o "capitoli" che al loro interno ancora non hanno dei praragrafi:
in tal caso vorrei far uscire un messaggio "in questo capitolo non sono presenti dei paragrafi";
Tuttavia la query fatta in precedenza non funziona... avrei anche risolto ma con una soluzione poco "elegante"... la riporto giusto per la cronaca (anche se non se pò vedè):
Codice PHP:
$capitoli= (INT) $_GET['capitoli']; //ricevo la variabile
include("../resource/conn.php"); //includo connesisone e funzione filtro_db
/*faccio la query*/
$query = "
SELECT capitoli.*, paragrafi.*, libri.*
FROM libri
INNER JOIN paragrafi
ON paragrafi.id_libro=libri.id_libro
INNER JOIN capitoli
ON paragrafi.id_capitolo=capitoli.id_capitolo AND capitoli.id_capitolo='".$capitoli."'";
$result = mysql_query($query);
if(!$result)
{
$lista_contenuti = "errore di forumulazione della richiesta";
}
else
{
/*se non ci sono i paragrafi faccio un'altra query (ulteriore e poco elegante)*/
/*in questo caso dato che già sò l'inesistenza di paragrafi (mysql_num_rows=0)
non metto i paragrafi nella query*/
if(mysql_num_rows($result)==0)
{
$lista_contenuti = "non ci sono paragrafi per tale argomento";
$query ="SELECT capitoli.*, libri.* FROM libri INNER JOIN capitoli ON capitoli.id_libro=libri.id_libro AND capitoli.id_capitolo='".$capitoli."'";
$result = mysql_query($query);
if(!result)
{
$lista_contenuti = "errore di forumulazione della richiesta";
}
else
{
/*estraggo i valori della seconda query*/
while ($riga = mysql_fetch_array($result))
{
$nome_libro = $riga['nome_libro'];
$id_libro = $riga['id_libro'];
$nome_capitolo = $riga['nome_capitolo'];
}
}
}
else
{
/*estraggo i valori della prima query*/
while ($riga = mysql_fetch_array($result))
{
$nome_libro = $riga['nome_libro'];
$id_libro = $riga['id_libro'];
$nome_capitolo = $riga['nome_capitolo'];
$lista_contenuti .= "<a href=vedi_parag.php?id_parag=".$riga['id_paragrafo'].">".$riga['titolo_paragrafo']."</a>
";
}
}
}
In pratica cmq vanno le cose io estrarrò 3 variabili:
- $nome_libro;
- $nome_capitolo (il cui id invio via get);
- $lista_contenuti (lista dei paragrafi del capitolo).