Newsgroup: it.comp.www.php
Titolo: Problema da risolvere.

Gentilissimi utenti di questo NewsGroup, ho un problema da risolvere, adesso
ve lo spiego spero che ci riesco:
Ho due tabelle:
Tabella1 - contiene l'elenco degli iscritti, identificato da un IDISCRITTO
Tabella2 - contiene l'elenco delle foto degli iscritti (ogni iscritto può
avere una o più foto), ogni foto è identificata da una IDFOTO che equivale
all'IDISCRITTO
Quello che a me serve è una tabella a video che in ogni riga mi appaia: il
numeri ID dell'iscritto, il nome della foto e la data di pubblicazione della
foto. Attenzione però se l'iscritto ha più foto mi deve apparire solo quella
più recente.
Per fare ciò ho scritto la seguente query:
select TABELLA2.IDFOTO, TABELLA1.IDISCRITTO, TABELLA2.DATAFOTO,
TABELLA2.NOMEFOTO from TABELLA1, TABELLA2 where
TABELLA2.IDFOTO=TABELLA1.IDISCRITTO group by TABELLA1.IDISCRITTO order by
TABELLA2.DATAFOTO DESC
Parzialmente funziona, ovvero mi esce l'elenco degli iscritti e solo una
foto per ogni iscritto, anche se l'iscritto ha più foto, ma non mi esce il
nome della foto più recente e non sò con quale criterio mi appare il nome
della foto eppure ho messo: order by TABELLA2.DATAFOTO DESC.
Ecco questo è il mio problema, se per favore qualcono me lo può risolvere ne
sarò grato, oppure se qualcuno ha un'altra soluzione....
Grazie.

 della foto eppure ho messo: order by TABELLA2.DATAFOTO DESC.
[cut]
mmm.. io avevo un problema del genere tempo fa.supponendo che il campo dove
metti la data si chiami datafoto la query diventerebbe IMHO:
SELECT tabella2.*
FROM
    tabella2 INNER JOIN( select idiscritto,max(datafoto) as ultimafoto) AS
foto
       ON tabella2.idiscritto=foto.ultimafoto AND tabella2.datafoto=
foto.ultimafoto
praticamente crei al volo un filtro sulla tabella2 che ti tira fuori per
ogni iscritto la data della sua foto recente, dopodichè usi i risultati per
rifiltrare l'intera tabella2 (per quello ho scritto INNER JOIN) restituendo
solo le righe che ti interessano.
Fammi sapere se hai risolto!
<*DarKStaR*>

 nome della foto piů recente e non sň con quale criterio mi appare il nome


 problemi!
uhm... vero, però se a lui servissero più immagini di uno stesso utente?
(chessò, tipo un album foto..) sarebbe comunque costretto ad avere più di
una tabella a meno di riscriversi tutti i dati anagrafici....
CiauZ!
<*DarKStaR*>

 una tabella a meno di riscriversi tutti i dati anagrafici....
Beh, si e no. Volendo basta impostare un limite di foto (diciamo 5?) per
ogni utente e utilizzare una sola riga per utente con i dati e le 5 foto.
Naturalmente si possono mettere piů di cinque foto, scegliendo quale
sopprimere...
ma, sempre volendo, si possono mettere tutte le foto in un campo solo..
LAMASE

 ma, sempre volendo, si possono mettere tutte le foto in un campo solo..
stai pensando a una soluzione tipo un campo che contiene più nomi di file
separati da un delimitatore? o ad una specie di campo memo contenete i dati
raw delle immagini?
--
<+#DarKStaR#+>

 raw delle immagini?
Sicuramente a quella più semplice e pulita, i nomi delle immagini.
Ora mi viene in mente che si può anche fare a meno di avere le immagini o i
nomi nel database, semplicemente inserendo le immagini in una cartella con
il nome uguale all'id della persona (/img/IDUTENTE/). In questo modo non hai
neanche i limiti sul numero di foto e le hai ben organizzate (per
visualizzare l'ultima leggi la data oppure segni sul database in un solo
campo qual'è quella più aggiornata)
LAMASE

> Gran bella idea quella degli ID! :-)) complimenti!
Grazie =)
LAMASE
