Salve, ho cercato ovunque,ma non riesco a trovare una soluzione al mio problema.
Sto creando un sito,contenente anche una parte di notizie.
La pagina principale delle notizie stampa in alto 4 notizie che sono notizie in primo piano
sotto altre 4 che sono notizie del secondo piano e notizie vecchie del primo piano.
Gia' solo per realizzare questa parte ho avuto problemi.
Ovviamente io per le prime 4 notizie ho scritto una select limitata a 4 notizie che mi prende le ultime 4 notizie in primo piano..
tipo
Quando dopo sono andato a prendere le 4 notizie per il secondo piano ho scritto questo codicecodice:SELECT * FROM notizie WHERE posizione_notizia=1 //posizione notizia=1 corrisponde alle notizie in primo piano ORDER BY data_notizia DESC LIMIT 4
spero si sia capito cosa dovevo fare in questo caso..ma quando ho provato ad avviare il sito,codice:SELECT * FROM notizie WHERE posizione_notizia>0 // 1 rappresenta il primo piano 2 il secondo piano AND id_notizia NOT IN (SELECT id_notizia FROM notizia WHERE posizione_notizia=1 //posizione notizia=1 corrisponde alle notizie in primo piano ORDER BY data_notizia DESC LIMIT 4) ORDER BY data_notizia DESC LIMIT 4
ho riscontrato l'un errore del database che diceva che la mia versione di Mysql non consentiva
l'uso di limit all'interno di una subquery
Ho trovato una soluzione non tanto complessa a questo problema, prendendo le prime otto notizie e con due semplici controlli ho evitato le prime 4 notizie in primo piano.
Preciso che sto ancora lavorando in locale..
Comunque ovviamente il problema non è quello di mostrare le 4 notizie in secondo piano,ma è quello di mostrare diciamo le notizie in 3 piano..
In terzo piano dovrei mostrare ben 30 notizie,divise in 15 per colonna..
nella prima colonna stampo 15 notizie di un certo argomento,nella seconda le 15 notizie di un altro argomento (Es. Cronaca prima colonna Sport seconda colonna).
Ragioniamo per risolvere una sola colonna,visto che il problema della seconda è identico.
La colonna "Cronaca" deve stamparmi le ultime 15 notizie di "tipo_notizia='Cronaca'" che non sono state stampate ne in primo piano,ne in secondo piano.
Quindi anche qui mi servirebbe una subquery contenente limit..
Non so come risolvere questo problema..qualcuno può aiutarmi?
Potrei creare un array che si salva tutte le notizie già stampate..ma vorrei adottare questo tipo di soluzione solo in caso non ce ne fosse una più semplice e precisa.
Quindi mi affido a voi..
![]()

Rispondi quotando
non c'è soluzione?

