Newsgroup: it.comp.www.php
Titolo: PHP - Sommare record da un DB MySQL

Salve a tutto il ng!
Ho una tabella di un DB MySQL cosě fatta:
+-------+----------+
+ Num  + Importo  +
+-------+----------+
+ 1        +  10         +
+-------+----------+
+ 1        +  15         +
+-------+----------+
+ 2        +  5          +
+-------+----------+
+ 2        +  6          +
+-------+----------+
+ 3        +      1       +
+-------+----------+
+ 3        +      4      +
+-------+----------+
Ho bisogno di un uno script PHP che mi restituisca la somma dei valori 
contenuti
nella colonna "Importo" raggruppandoli per "Num"
Cioč.....un script che mi restituisca il seguente risultato:
+-------+----------+
+ Num  + Totale     +
+-------+----------+
+ 1        +  25         +
+-------+----------+
+ 2        +  11         +
+-------+----------+
+ 3        +      5      +
+-------+----------+
Sto iniziando a sviluppare con PHP/MySQL con risultati soddisfacenti (almeno 
per me ;-) )  ma questa cosa non mi riesce!
Spero di esser stato sufficientemente chiaro nel porre la domanda!
Ringrazio in anticipo tutti per il contributo!
ALE

 valori contenuti nella colonna "Importo" raggruppandoli per "Num"
Puoi farlo anche in PHP con un semplice ciclo ed array ma probabilmente
sarebbe piu' efficiente utilizzare una query SQL tipo:
SELECT Num, COUNT(Import) AS Totale GROUP BY Num
Da testare.
-- 
I am what I am, I do what I can
L'uomo, conscio di sbagliare, persevera.

 
SELECT SUM(Importo) AS Totale,Num FROM nometabella GROUP BY Num ORDER BY Num
ASC
_potrebbe_ funzionare...
-- 
William Maddler
http://www.personepigre.it
http://www.maddler.net

 SELECT Num, COUNT(Import) AS Totale GROUP BY Num
Ups .., non e' COUNT ma SUM come ha scritto William.


 BY Num ASC
Dal manuale di MySQL: 
If you use GROUP BY, output rows are sorted according to the GROUP BY
columns as if you had an ORDER BY for the same columns. MySQL has
extended the GROUP BY clause as of version 3.23.34 so that you can also
specify ASC and DESC after columns named in the clause:
SELECT a,COUNT(b) FROM test_table GROUP BY a DESC
da cui si _dovrebbe_ avere:
SELECT SUM(Importo) AS Totale, Num FROM nometabella GROUP BY Num 


[cut]
Non funge o meglio nn so dove sbaglio!
Il Risultato è sempre "Resource id #5" oppure "Array"!
Questa è una porzione del codice (quella che mi da "Resource id #5"):
$sum = mysql_query ("SELECT SUM(nome_campo1) FROM nome_tabella WHERE
nome_campo_univoco='$a'");
    echo "<tr><th colspan='2'><th bgcolor='#C0C0C0'>Totale";
echo "<tr><th colspan='2'><td>$sum";
    echo "<tr><th colspan='2'><td>$result";
Mi rendo conto che l'ho scritto "semplice"..son un po "acerbo"
HELP PLEASE!Sono un po in palla su questa cosa e non mi schiodo..!
Grazie molte cmq!
ALE
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Questa è una porzione del codice (quella che mi da "Resource id #5"):
Il comportamento e' quello corretto, 
http://www.php.net/mysql_query
restituisce un valore di tipo resource.
 
$rs_sum = mysql_query ("SELECT SUM(nome_campo1) AS Somma FROM
nome_tabella WHERE
nome_campo_univoco='$a'");
if ($rs_sum!== false) {
	if ($row_sum = mysql_fetch_assoc ($rs_sum)) {
		if (isset ($row_sum['Somma'])) {
			print ($row_sum['Somma']);
		} else {
			// il campo Somma non e' stato trovato.
		}
	} else {
		// il recordset e' vuoto
	}
	mysql_free_result ($rs_sum);
} else {
	// errore query, utilizza mysql_error e mysql_errno
}
Da testare.
[promo]
http://setecastronomy.stufftoread.com/go.php?ID=23
[/promo]


[cut]
diavolo di una funzione:non va!
echo <tr><th colspan='2'><td>$rs_sum"; RISULTATO: Resource id #5
Eppure la query SQL funziona e mi da il totale numerico corretto!


 Eppure la query SQL funziona e mi da il totale numerico corretto!
Non devi fare il print di $rs_sum che, come ho gia' precisato, e'
correttamente un variabile di tipo risorsa. Seguento quanto proposto
dovresti fare il print di $row_sum['Somma'], ossia il valore del campo
Somma nell'array restituito dalla chiamata a mysql_fetch_assoc.


 Somma nell'array restituito dalla chiamata a mysql_fetch_assoc.
FUNZIONA!
Sulla base di quanto pazientemente suggerito il codice giusto č:
echo "<tr><th colspan='2'><td>$row_sum[Somma]";
GRAZIE 1000 davvero!
Il tuo aiuto č stato preziosissimo!
ALE
(ps: ho dato uno sguardo anche al sito ma...mi son fermato alla link "Sei un 
newbie"...! ;-) )