View Full Version : [MySQL-PHP] E' possibile....
Allora ho due tabelle:
1°) tabella
POST
id
data
titolo
testo
2°) tabella
IMMAGINI_POST
id
id_immagini
immagini
Bene..devo realizzare una specie di blog e devo ripetere nella pagina appunto una query che mi estragga sia quello che c'è nella tabella POST che le immagini corrispondenti,il problema come ben capite è che le immagini possono essere + di una per OGNI POST,quindi volevo sapere come potrei procedere con SQL? Si può fare una query che dia questi risultati,per poi ripeterli per ogni post?. :muro:
P.S.Lo so che sembra intricata come cosa,ma concettualmente è semplice!
Xalexalex
20-08-2006, 10:40
Scusa ma le tabelle non dovrebbero essere:
1) POSTS
id_post
data
titolo
testo
2)IMMAGINI
id_immagine
id_post
immagine
Poi fai una "SELECT * FROM IMMAGINI WHERE $id_del_post = id_post"... E dovrebbe andare..
Yaoz
Alex
Scusa ma le tabelle non dovrebbero essere:
1) POSTS
id_post
data
titolo
testo
2)IMMAGINI
id_immagine
id_post
immagine
Poi fai una "SELECT * FROM IMMAGINI WHERE $id_del_post = id_post"... E dovrebbe andare..
Yaoz
Alex
Ehm...in questo modo però io riesco a visualizzare solo un POST correttamente (cioè testo + immagini correlate),ma ovviamente per gli altri non vedo le immagini correlate. Avete presente una pagina index di un blog,ci sono PIU' post con PIU' immagini correlate AD OGNI POST,ecco io vorrei proprio quello,visualizzare per ogni post SIA la parte testuale contenuta nelle prima tabella di MYSQL,che le RELATIVE immagini,e la parte fondamentale è che il tutto deve RIPETERSI nella pagina fino alla fine dei post.Sprero di essere stato più chiaro :fagiano:
Ehm...in questo modo però io riesco a visualizzare solo un POST correttamente (cioè testo + immagini correlate),ma ovviamente per gli altri non vedo le immagini correlate. Avete presente una pagina index di un blog,ci sono PIU' post con PIU' immagini correlate AD OGNI POST,ecco io vorrei proprio quello,visualizzare per ogni post SIA la parte testuale contenuta nelle prima tabella di MYSQL,che le RELATIVE immagini,e la parte fondamentale è che il tutto deve RIPETERSI nella pagina fino alla fine dei post.Sprero di essere stato più chiaro :fagiano:
Se ho capito bene, forse ti servirebbe qualcosa del genere (pseudo-codice):
$post_query = "select * from posts"
for each $post:
print message
$image_query = "select * from immagini where id_post = $post->id_post"
for each $image:
print image
end
end
O no?
Xalexalex
20-08-2006, 17:40
Risolto forse con 3 tabelle...
1) POSTS
id_post
data
titolo
testo
2) POSTS_IMMAGINI
id_post
id_immagine
3)IMMAGINI
id_immagine
immagine
Poi fai una "SELECT * FROM IMMAGINI WHERE id_immagine = 'SELECT id_immagine FROM POSTS_IMMAGINI WHERE $id_del_post = id_post'"
Prova un po'...
Yaoz
Alex
Potrebbe anche funzionare anche se non ho capito bene cosa fa la query,ma il problema è che per riempire tutte le tabelle è un pò un casotto,ma sopratutto siccome il database conterrà molte cose,vorrei evitare rindondanze inutili.
P.S. A prescindere....grazie mille per il supporto,siete di grande aiuto :)
scusa ma un'immagine è assegnata ad un solo post?
edit: avevo capito male, ora ho capito.
Ipotizziamo un caso: tu hai un testo abbinato a 3 immagini ok?
tabella post(id, testo)
tabella immagine (id_post, linkimmagine)
$query1 = "SELECT * FROM post";
$result1 = mysql_query($query1) or die("errore");
while($post = mysql_fetch_array($result1)){
echo $post['testo'];
$query2 = "SELECT link FROM immagine WHERE id_post = $post['id']";
$result2 = mysql_query($query2) or die("errore");
while($img = mysql_fetch_array($result2)) echo $img['linkimmagine'];
}
ci sarebbero modi più eleganti, appena posso te li spiego.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.