- Home
- Categorie
- Coding e Sistemistica
- Coding
- select con where
- 
							
							
							
							
							
select con whereciao a tutti, 
 avrei bisogno di selezionare i record in questo modo:(cioè selezionare gli articoli Beauty degli ultimi 10 giorni + gli articoli Solari degli ultimi 10 giorni + gli articoli Soin degli ultimi 10 giorni) articolo1 - sottocategoria Beauty - 03-09-2015 
 articolo2 - sottocategoria Beauty - 03-09-2015articolo7 - sottocategoria Solari - 01-09-2015 
 articolo12 - sottocategoria Solari - 01-09-2015
 articolo15 - sottocategoria Solari - 25-08-2015articolo34 - sottocategoria Soin - 24-08-2015 
 articolo42 - sottocategoria Soin - 25-08-2015(invece quello che fa la mia query è quella di selezionare gli ultimi articoli in generale degli ultimi 10 giorni) articolo1 - sottocategoria Beauty - 03-09-2015 
 articolo2 - sottocategoria Beauty - 03-09-2015articolo3 - sottocategoria Beauty - 03-09-2015 
 articolo4 - sottocategoria Beauty - 02-09-2015
 articolo5 - sottocategoria Beauty - 02-09-2015articolo6 - sottocategoria Beauty - 01-09-2015 
 articolo7 - sottocategoria Solari - 01-09-2015come posso fare? 
 ThanksQuesta è la query: $data_attuale = date("Y-m-d"); 
 $ora_attuale = date("H:i:s");$query_articolo="SELECT c_art_sottocategoria., c_art_articolo., 
 DATE_FORMAT(c_art_articolo.data_evento, '%d-%m-%Y') AS data_evento2FROM c_art_articolo INNER JOIN c_art_sottocategoria 
 ON c_art_articolo.id_art_sottocategoria = c_art_sottocategoria.id_art_sottocategoriaWHERE c_art_articolo.id_art_categoria = '$idcategoria' AND c_art_articolo.photogallery = 'no' 
 AND c_art_articolo.id_art_posizione_home != '1'
 AND c_art_articolo.id_art_posizione_sottohome != '1'AND c_art_articolo.articolo_lingua_it = 'si' AND ((c_art_articolo.data_evento < '$data_attuale') 
 OR (c_art_articolo.data_evento = '$data_attuale'
 AND c_art_articolo.ora_pubblicazione <= '$ora_attuale'))AND c_art_articolo.data_evento > (NOW() - INTERVAL 10 DAY) ORDER BY c_art_articolo.data_evento DESC"; 
 
- 
							
							
							
							
							puoi postare la struttura della tabella dalla quale vuoi estrarre i dati? 
 
- 
							
							
							
							
							
certo, grazie: id_art_articolo 
 data_evento
 ora_pubblicazione
 articolo_lingua_it
 id_art_categoria
 id_art_sottocategoria
 id_art_posizione_home
 id_art_posizione_sottohome
 photogallery
 
- 
							
							
							
							
							a primo impatto proverei: $query_articolo="SELECT * from 'NOME_TABELLA' WHERE data_evento >= ( CURDATE() - INTERVAL 10 DAY ) AND (id_art_sottocategoria = 'beauty' OR id_art_sottocategoria = 'Solari' OR id_art_sottocategoria = 'Soin'"; 
 
- 
							
							
							
							
							
grazie ma non è quello che vorrei fare io 
 
- 
							
							
							
							
							
tu hai solo fatto una una semplice selezione delle sottocategorie 
 
- 
							
							
							
							
							Ciao, 
 non mi vengono soluzioni più performanti, quindi non posso far altro che suggerirti di fare un ciclo su un array contenente i nomi di tutte le categorie che vuoi ricercare ed eseguire una query con LIMIT 10 per ognuna di esse.In alternativa se usi una versione abbastanza aggiornata di MySql potresti fare un stored procedure che esegue tutto il ciclo. Sarebbe di sicuro più ottimizzato. Se mi vengono in mente altre soluzioni ti faccio sapere. 
 
- 
							
							
							
							
							
Grazie Shad, pensavo che non ci fosse soluzione, per me andrebbe bene anche un array, basta che funziona. In pratica come dovrei fare? Mi potresti fare un esempio perfavore? 
 
- 
							
							
							
							
							Scriverti tutto il codice sarebbe troppo articolato per me. Ti dico i passi essenziali: - prepari un array del tipo: array('Beauty', 'Solari', ecc.)
- Ci fai un ciclo foreach sopra
- per ognuno esegui la query usando LIMIT 10 per farti dare solo i primi 10 risultati
 Poi dipende da quello che devi fare ma il succo è questo. 
 
- 
							
							
							
							
							
C'è qualcun altro che mi vuole dare altri consigli? 
 
- 
							
							
							
							
							
up 
 
- 
							
							
							
							
							
Ho risolto, senza array. 
 
- 
							
							
							
							
							Ciao, 
 mi fa piacere che tu abbia risolto.Che ne dici di postare la tua soluzione qualora un domani potesse servire ad altri? Saluti 
 
- 
							
							
							
							
							
Certo, ho messo una query nidificata dentro un'altra query.