Ciao a tutti, un nuovo problema mi affligge...
Premesso che il db non è gestito da me e che per forza di cose non posso impostare diversamente campi e tabelle..vi racconto il mio problema...
Ho tre tabelle che mi devo giostrare per mostrare ogni notizia separata per argomento.
la prima contiene le notizie
tabella -> Modulo_DataDyn_Entita_7
iId = id notizia | Field50 = data| Field52= titolo
la seconda contiene gli argomenti
tabella -> Modulo_DataDyn_Categorie_Lineari
iId = id argomento | sNome = nome argomento
la terza contiene il collegamento tra id delle notizie e id degli argomenti
tabella -> Modulo_DataDyn_CC
iId = id | iIdCompilazione = id notizia | iIdCategoriaLineare = id argomento
Che casino eh?
Dunque io devo mostrare tutte le notizie (SELECT iId, Field50, Field52 FROM Modulo_DataDyn_Entita_7)
in corrispondenza di ogni argomento.
Avevo fatto una query per la stampa di tutti gli argomenti:
(ps. WHERE iEntitaId=7 è il filtro per la categoria di argomenti che mi servono)
Codice PHP:
$tab_argomento = "
SELECT sNome, iId
FROM Modulo_DataDyn_Categorie_Lineari
WHERE iEntitaId=7
ORDER BY sNome";
$result = mysql_query($tab_argomento);
while ($riga = mysql_fetch_assoc($result)) {
$nome_argomento=$riga["sNome"];
$id_argomento=$riga["iId"];
echo "$id_argomento $nome_argomento <br />";
} //while
poi ne avevo fatta una per stampare le notizie:
(ps. Modulo_DataDyn_Entita_7.Field49='Press' è il filtro per il tipo di notizia che devo stampare)
Codice PHP:
$tab_notizie = "
SELECT
Modulo_DataDyn_Entita_7.iId,
Modulo_DataDyn_Entita_7.Field52,
Modulo_DataDyn_Entita_7.Field49,
Modulo_DataDyn_CC.iId,
Modulo_DataDyn_CC.iIdCompilazione,
Modulo_DataDyn_CC.iIdCategoriaLineare
FROM
Modulo_DataDyn_Entita_7,
Modulo_DataDyn_CC
WHERE
Modulo_DataDyn_Entita_7.Field49='Press' AND
Modulo_DataDyn_CC.iIdCategoriaLineare = $id_argomento AND
Modulo_DataDyn_CC.iIdCompilazione = Modulo_DataDyn_Entita_7.iId"
$result_notizie = mysql_query($tab_notizie);
while ($riga = mysql_fetch_assoc($result_notizie)) {
$id_notizia=$riga["iId"];
$nome_notizia=$riga["Field52"];
echo "$id_notizia $nome_notizia <br />";
} //while
ma ovviamente (a parte non funzinare) il valore di quel $id_argomento non viene preso dalla query precedente e nemmeno è corretto per la struttura che deve avere il risultato, cioè la stampa delle informazioni per ogni argomento.
Quindi ho pensato di fare una funzione dentro al while della prima query:
perOgniArgomento($id_argomento, $nome_argomento);
e poi eseguire la stampa dei valori tramite la funzione:
Codice PHP:
function perOgniArgomento($id_argomento, $nome_argomento)
{
//fare qualcosa...
}
dovrei mettere la seconda query nella funzione? Perchè comunque non funziona... :(