Raggruppare dati in categorie con group by

davide1982

Nuovo Utente
14 Giu 2010
26
0
0
Buongiorno avrei bisogno di aiuto per effettuare una query di raggruppamento delle noizie presenti nel mio sito.

Ho una tabella news di cui riporto le colonne interessate:
id, titolo, categoria, data

Le news sono suddivise in 4 categorie e assegno una determinata categoria con i numeri da 1 a 4.

esempio:
id:1
titolo: news1
categoria: 2
data: timestamp

Il risultato che vorrei ottenere è la suddivisione in colonne (categorie) delle ultime news (le ultime dieci per esempio), così:
Cat1
news4
news3
news2
news1

Cat2
news2
news1

Cat3
news3
news2
news1

Cat4
news1


Il massimo che sono riuscito a ottenere invece è la suddivisione in categorie con solo l'ultimo record per ciascuna di esse:
Cat1
news4

Cat2
news2

Cat3
news3

Cat4
news1

Con questa query:
SELECT id,titolo,categoria FROM news GROUP BY categoria ORDER BY data DESC

Ho provato a guardare molti altri tipi di query, anche più complesse, ma non sono sicuro di quale faccia più al caso mio.... :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non so se usi php ma ti scrivo come potresti fare in php

PHP:
<?php
$ris_c=mysql_query("SELECT categoria FROM news GROUP BY categoria ORDER BY data DESC");
while($riga_c=mysql_fetch_array($ris_c)){
	$cat=$riga_c['categoria'];
	echo "categoria: $cat<br>";
	$ris_n=mysql_query("SELECT * FROM news WHERE categoria='$cat' ORDER BY data DESC");
	while($riga_n=mysql_fetch_array($ris_n)){
		$new=$riga_n['titolo'];
		$data=$riga_n['data'];
		echo"news del ".date("d-m-Y",$data).": $new<br>";
	}
}
?>
prova al massimo non funzia
 

davide1982

Nuovo Utente
14 Giu 2010
26
0
0
Grazie, ho preso spunto dal tuo consiglio e alla fine ho fatto così:

$categoria è un array contenente le categorie

PHP:
<div id="links_to_news">
<?php
	for ($i=1;$i<6;$i++) {
?>
       <p class="greenText uppercase"><?=$categoria[$i-1]?></p>
<?php
       $query_news = mysql_query("SELECT id,titolo,categoria FROM news WHERE pubblica = '1' AND categoria = '".$i."' ORDER BY data DESC",$link);
       while ($row_news = mysql_fetch_array($query_news)) {
       $id = $row_news['id'];
       $id_cat = $row_news['categoria'];
       $titolo = $row_news['titolo'];
?>
      <p><a href="news.php?cat=<?=$id_cat?>&amp;id=<?=$id?>"><strong><?=$titolo?></strong></a><br /><br /></p>
<?php
	}
?>
</div>
<?php
	}
 
Discussioni simili
Autore Titolo Forum Risposte Data
max1974 raggruppare e girare i dati in colonne MySQL 11
D Raggruppare dati query con php PHP 1
M Raggruppare dati in array per successivo insert PHP 6
S Raggruppare ed estrarre data più recente MySQL 6
R Raggruppare valori array PHP 5
A Raggruppare record con stessa data PHP 13
max1974 [PHP] Raggruppare array PHP 4
MarcoGrazia [mysql][mariadb]Raggruppare query in base alla data MySQL 2
M [PHP] [HTML] Raggruppare 4 pagine web in una PHP 3
A Raggruppare piu' funzioni in una sola PHP 1
N Raggruppare risultati di due tabelle PHP 1
ivarello Raggruppare Query per mese PHP 1
mircop Raggruppare elementi di una tabella PHP 2
G Raggruppare record tabella PHP 1
X Raggruppare risultati di una query PHP 3
max75 query su due tabelle e dati doppioni MS Access 2
K Form che manda dati doppi PHP 1
T problemi con dati menu a tendina HTML e CSS 2
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
V dati scomparsi dal sito HTML e CSS 3
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
A Stampare dati da form PHP 8
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
F Scrivere dei dati in word con php PHP 0
otto9due $_FILE non passa i dati dal form PHP 1
N dati tabella non presi PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8

Discussioni simili