Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    sommare due moduli di una tabella

    salve premetto che non sono praticissimo in questo campo
    Come posso fare qualcosa di questo tipo?

    $sql = "SELECT *, SUM(contante) AS somma FROM utenti WHERE x(utente) = y(debitore)";

    dove x e y sono rispettivamente due campi della tabella del database utenti

    in pratica devo costruirmi una tabella dove andrò a inserire questo valore così ottenuto (contante)per ciascun utente che rappresenterà una riga della mia tabella

    è possibile fare qualcosa del genere ? Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    ciao,
    così come hai impostato la query non riesco a capire cosa devi ottenere; immagino che il risultato che vuoi è la somma "contante" di ogni utente per debitore! Se fosse così allora ti consiglio di fare un group by

    select sum(contante) somma, debitore
    from utente
    group by debitore


    bye
    Mike

  3. #3
    utente: debitore credito
    marco giulia 700€
    giulia luigi 600€
    Francesca giulia 50€
    luigi


    allora cercherò di essere piu chiaro questa volta

    fate conto che la tabella che ho cercato di rappresentare sia la tabella "utenti" del mio database mysql.

    dalla tabella vedo che giulia ha un debito con marco e con francesca, il mio intento è individuare una funzione che vada a individuare con chi è in debito giulia e calcoli il debito totale di giulia; naturalmente dovrebbe fare questo per tutte le persone della "colonna" utente.

    per riuscire a creare alla fine una tabella di questo tipo:

    utente contante in debito
    marco 0€
    giulia 750€
    francesca 0€
    luigi 600€


    è piu chiaro ora? c'è soluzione al mio problema?

  4. #4
    Nessuno ha soluzione al mio problema? la mia domanda è chiara ?

  5. #5
    Così ottieni i nomi ed i totali delle somme dovute dai debitori, ma non i nomi di coloro che non hanno debiti:

    codice:
    SELECT debitore, sum(credito) FROM utenti GROUP BY debitore
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    ho provato a fare com emi avevate consigliato ma mi dice che ce un errore sulla linea 14.

    posto l'intera pagina di codice:

    [PHP]

    <?php
    echo "<body>";

    include('config.php');


    $query1="select * from utenti order by credito DESC";
    $sql = "select debitore, sum(contante) as somma from utenti group by debitore";

    $ris=mysql_query($query1,$sql,$con) or die("Errore query ".mysql_error());

    echo "<table bgcolor=#ffffff borderColor=gray cellSpacing=0 cellPadding=5 width=75% align= center border=5><tr><td><center> nome </center></td><td><center> contante </center></td><td><center> contante in debbito </center></td></tr>";

    while($riga = mysql_fetch_array($ris,)) {

    echo "<tr><td><center>" . $riga["nome"] . "</center></td><td><center>" . $riga["credito"] . " </center></td><td><center>" . $riga["somma"] . " </center></td><td align=center>";

    echo "</table>";
    echo "</body>";
    echo "</html>";
    ?>
    [PHP]

    come posso fare?

  7. #7
    Originariamente inviato da theunlimite
    [PHP]
    ...
    $ris=mysql_query($query1,$sql,$con) or die("Errore query ".mysql_error());
    ...
    [PHP]
    Non mi risulta che vi sia una funzione mysql_query() che prenda in input 3 parametri.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    e poi c'è una virgola di troppo qui, prima delle due parentesi ))
    Codice PHP:
    while($riga mysql_fetch_array($ris,)) 

  9. #9
    Nonostante abbia corretto gli errori che mi avete segnalato continua a darmi errore query


    Codice PHP:
    <?php
    echo "<body>";

    include(
    'config.php');


    $query1="select * from utenti order by contante DESC";
    $sql1 "select debitore, sum(contante in debito) as somma from utenti group by debitore";  

    $ris=mysql_query($query1,$sql1) or die("Errore query ".mysql_error());

    echo 
    "<table bgcolor=#ffffff borderColor=gray  cellSpacing=0 cellPadding=5 width=75% align= center border=5><tr><td>[b]<center> nome   [/b]</center></td><td>[b]<center> contante  [/b]</center></td><td>[b]<center>   contante in debito [/b]</center></td></tr>";

    while(
    $riga mysql_fetch_array($ris)) {
       
       echo 
    "<tr><td><center>" $riga["nome"] . "</center></td><td><center>" $riga["contante"] . "</center></td><td><center>" .  $riga["somma"] . "</center></td></tr>";
       
       }
    echo 
    "</table>";
    echo 
    "</body>";
    echo 
    "</html>";

    ?>
    la mia tabella nel database è :

    utente| debitore | contante in debito | contante
    marco | giulia | 700€ | 1000€
    giulia | luigi | 600€ | 1000€
    Francesca | giulia | 50€ | 1000€
    luigi | X | X | 1000€




    la tabella che vorrei visualizzare nella mia pagina è invece :

    nome | contante in debito | contante|
    marco | 0€ | 1000€
    giulia | 750€ | 1000€
    francesca | 0€ 1000€
    luigi | 600€ | 1000€

    qualche altra soluzione?

  10. #10
    Originariamente inviato da satifal
    Non mi risulta che vi sia una funzione mysql_query() che prenda in input 3 parametri.
    E neanche due query contemporaneamente.

    P.S.
    Ma li consultate i link che vengono postati oppure è troppo fastidio?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.