Back to top

Autore Topic: RISOLTO: Somma dei valori di una colonna  (Letto 5583 volte)

Offline sacusimano

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
RISOLTO: Somma dei valori di una colonna
« il: 30 Giu 2014, 20:29:15 »
Salve a tutti, come da oggetto avrei necessità di effettuare la somma di una colonna di una specifica tabella. Ho provato diverse strade, ma senza ahimè pervenire a nessun risultato..
Allora diciamo che ho fatto la prova con chronoconnectivity e non ci sono riuscito, vi spiego brevemente cosa ho fatto brevemente:
 1) ho realizzato la query, e l'ho testata tramite myphpadmin e la stessa funziona
 SELECT sum( bonifico) FROM '#__avjos16_pagamenti' GROUP BY n_capitolo
2) ho provato ad inserire la stessa in general nel campo where sql di chronoconnectivity, ed il risultato è stato un errore di sintassi mysql.
3) ho provato allora di lanciarla come stringa php

<?php
$db =& JFactory::getDBO();
$query = "SELECT sum( bonifico) FROM '#__avjos16_pagamenti' GROUP BY n_capitolo";
$db->setQuery($query);
$nomes = $db->loadResult();
?>
<div>
<p>Situazione<?php echo $nomes?></p>
4) Non riuscendoci ho provato ad utilizzare la stringa in frontendlist setting, custom setting, ma ancora una volta nessun risultato.


Allora mi chiedo se qualcuno di voi ha avuto il mio stesso problema di somma di record di una colonna, premetto che uso chronoconnectivity v.4 e joomla 2.5.19. Vi ringrazio anticipatamente, se ce da cambiare strada sono propenso anche farlo..
Grazie, Salvo.
« Ultima modifica: 10 Lug 2014, 09:54:03 da sacusimano »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Somma dei valori di una colonna
« Risposta #1 il: 30 Giu 2014, 21:40:14 »
non so dirti di chronoetc, ma
SELECT sum( bonifico) FROM '#__avjos16_pagamenti' GROUP BY n_capitolo
se usi group by, aspettati un recordset, non uno scalare, quindi non puoi usare loadResult().
poi: che senso ha il raggruppamento se non sai a che si riferisce il totale?
per me:
SELECT sum( bonifico) as totalebonifici, n_capitolo FROM '#__avjos16_pagamenti' GROUP BY n_capitolo
conviene poi usare l'asias di colonna per poter recuperare agevolmente il valore della somma.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline sacusimano

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:Somma dei valori di una colonna
« Risposta #2 il: 07 Lug 2014, 19:41:40 »
Ciao Marco,
sto facendo varie prove ma non ci riesco..  :-[ :-[  utilizzando anche il loadObjectList[/size][/color]([/font][/size][/color])[/font][/size][/color];[/font]


Allora a me occorre che mi venga dato il dato sempre diviso per numero capitolo, in poche parole inserisco un pagamento nel capitolo, creo svariate righe con pagamenti, poi le sommo singolarmente e le visualizzo singolarmente... Nuove idee??  Grazie anticipatamente.
Salvo.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Somma dei valori di una colonna
« Risposta #3 il: 07 Lug 2014, 19:55:13 »
no, solo quelle di prima. hai verificato il risultato della query? qual è la struttura del db?


Allora a me occorre che mi venga dato il dato sempre diviso per numero capitolo, in poche parole inserisco un pagamento nel capitolo, creo svariate righe con pagamenti, poi le sommo singolarmente e le visualizzo singolarmente...


secondo te si capisce ciò che vuoi?
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline sacusimano

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:Somma dei valori di una colonna
« Risposta #4 il: 07 Lug 2014, 20:05:37 »
Mi esprimo come un libro chiuso, provo a fare un esempio pratico e visivo, cosi da non cadere in altri errori.


la tabella del db contiene i soliti campi di chronoform più altri due campi che per comodità chiamerò n_capitolo e bonifico


la righe della tabella, quindi saranno composte in questo modo


n_ capitolo               bonifico           cf_id               recordtime


1515                         1000
1516                         1250
1515                         900
1516                         1300
1515                          200
1516                          300


il risultato finale che vorrei è del tipo


n_capitolo                  bonifico
[size=78%]1515                            2100[/size]
[/size][size=78%]1516                            2850[/size]
[/size]
[/size]Spero di essere stato più chiaro, diversamente cercherò di allegare le foto. Scusate ancora.[size=78%]

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Somma dei valori di una colonna
« Risposta #5 il: 07 Lug 2014, 22:00:08 »
il risultato che vuoi è esattamente quello fornito dalla query che io ti ho indicato!


ps: io mi ero limitato a copiare il tuo codice: hai usato l'apostrofo invece del backtick.
non avevo detto niente perché pensavo che la cosa fosse solo dovuta ad un errore di battitura nel forum, ma ora mi viene il dubbio che tu abbia inserito l'errore nel codice.


ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline sacusimano

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:Somma dei valori di una colonna
« Risposta #6 il: 08 Lug 2014, 08:36:00 »
Marco, purtroppo è la mia ignoranza che mi ha indotto nell'errore, perché cercando un po di codice nei vari siti e/o forum, si corre il rischio di imbattersi in questo genere errore. Ti ringrazio per la disponibilità e le informazioni che mi dai ogni volta perché ne approfitto per studiare  e colmare le mie lacune. Purtroppo non sono  ne un'informatico e ne tanto mento un webmaster, mi limito solo per la curiosità ad imbattermi in  tali avventure. Buona giornata.
Salvo



Offline sacusimano

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:Somma dei valori di una colonna
« Risposta #7 il: 10 Lug 2014, 09:50:20 »
Buongiorno Marco,
finalmente sono riuscito a far funzionare la query, restano i problemi di impaginazione in tabella, ma penso che con un po di pazienza riuscirò anche in quello. Posto per tutti il codice che naturalmente ho utilizzato io, nella speranza che possa essere di aiuto a qualcun altro.




<?php
$database = &JFactory::getDBO();
$database->setQuery('SELECT SUM(bonifico) as totalebonifici, n_capitolo FROM `avjos16_pagamenti` GROUP BY n_capitolo');
$results = $database->loadObjectList();
foreach($results as $r) {
  echo $r->  n_capitolo,' | ',$r-> totalebonifici,'
';
}
?>


Faccio presente che l'ho testato sia con chronoform V.,4 che chronoconnectivityV.4, in entrambi i casi rappresento che il codice non restituisce il risultato corretto nel body.
Ringrazio ancora Marco e lo staff.
Saluti,
Salvo. ;)
« Ultima modifica: 10 Lug 2014, 09:59:24 da sacusimano »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:RISOLTO: Somma dei valori di una colonna
« Risposta #8 il: 10 Lug 2014, 10:13:26 »
meglio
$database = JFactory::getDBO();

da php5.3 in poi niente &

rappresento che il codice non restituisce il risultato corretto nel body.

non ho capito...

ciao

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline sacusimano

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:RISOLTO: Somma dei valori di una colonna
« Risposta #9 il: 10 Lug 2014, 10:24:09 »
Grazie per la dritta, intendo che se inserisco il codice nel body mi fa la stampa di tutte le righe con il totale della somma della query che ho ho lanciato.


Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:RISOLTO: Somma dei valori di una colonna
« Risposta #10 il: 10 Lug 2014, 10:36:04 »
continuo a non capire...  :o

ti spiace provare questo codice e dirmi se non è quello che avevi messo come output desiderato nel tuo precedente post?
Codice: [Seleziona]
<?php
$db 
JFactory::getDBO();
$db->setQuery('SELECT SUM(bonifico) as totalebonifici, n_capitolo FROM `#__pagamenti` GROUP BY n_capitolo');
$results $db->loadObjectList();
echo 
"<table><tr><td>Capito</td><td>Totale</td></tr>";
foreach(
$results as $r) {
  echo 
"<tr><td>{$r->n_capitolo}</td><td>{$r->totalebonifici}</td></tr>";
}
echo 
"</table>";
?>


ps: scritto senza testarlo, quindi occhio a eventuali errorini.

===
edited: infatti, corretto errorino  :D
« Ultima modifica: 10 Lug 2014, 11:39:19 da mmleoni »
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline sacusimano

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:RISOLTO: Somma dei valori di una colonna
« Risposta #11 il: 10 Lug 2014, 11:04:34 »

Riscritto in questo modo va alla grande!!!
Grazie mille ancora.


<?php
$database = JFactory::getDBO();
$database->setQuery('SELECT SUM(bonifico) as totalebonifici, n_capitolo FROM `avjos16_pagamenti` GROUP BY n_capitolo');
$results = $database->loadObjectList();
echo "<table><tr><td>Capito</td><td>Totale</td></tr>";
foreach($results as $r) {
  echo "<tr><td>{$r->n_capitolo}</td><td>{$r->totalebonifici}</td></tr>";
}
echo "</table>";
?>

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:RISOLTO: Somma dei valori di una colonna
« Risposta #12 il: 10 Lug 2014, 11:42:03 »
#__pagamenti non è un errore, è il modo corretto di scrivere il nome delle tabelle in modo che il codice sia indipendente dal cambio del prefisso del db.

ciao
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif