Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: [PHP e MySQL] Somma

  1. #1

    [PHP e MySQL] Somma

    Salve gente,

    dovrei fare la somma del totale dei punti di piu giocatori es:

    il db é composto così!

    tb_user
    usr_id
    usr_name

    tb_oggetti
    ogg_id
    ogg_name

    tb_dati
    usr_id
    ogg_id
    dati_num // Punteggio che vorrei sommare per ogni giocatore

    La tabella "tb_user" usr_id é in relazione con la tabella "tb_dati" usr_id, la tabella "tb_oggetti" ogg_id é in relazione con la tabella "tb_dati" ogg_id.

    Nalla tabella "tb_dati" dati_num ci sono solo numeri e vorrei far si che per ogni giocatore mi facci il totale dei punti!

    Mi sapreste dire come si fà? Ci stò sbattendo la testa da un po ma non riesco a capire come fare!!

    EDIT:
    $somma = "SELECT (primoCampo + secondoCampo) AS totale FROM nomeTabella";
    ma non capisco come devo fare!!!

    Spero di essermi spiegato al meglio!!

    Grazie Michel
    Immagini allegate Immagini allegate
    PHP THE BEST

  2. #2
    Up
    PHP THE BEST

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova con:

    Codice PHP:
    $somma "SELECT SUM(dati_num) AS totale FROM nomeTabella WHERE user_id='$idUserDaCercare'"
    http://dev.mysql.com/doc/refman/5.0/...functions.html


    ciao

  4. #4
    Grazie Ken84 per aver risposto,

    ho provato a fare la query direttamente da mysqladmin e li funziona e mi fa il totale!

    Sulla pagina dove voglio fare il totale invece non ci arrivo come al mio solito, ho fatto cosi:
    Codice PHP:
    <?php
    $iduser 
    $_GET['usr_id'];
    $sql "SELECT SUM(ogg_dati) AS totale FROM tb_dati WHERE usr_id='$iduser'";
    $result mysql_query($sql);
    ?>

    echo $result;
    mi da questo messaggio :
    Totale: Resource id #5

    Grazie Michel
    PHP THE BEST

  5. #5
    up
    PHP THE BEST

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    data la tua tabella:
    codice:
    tb_dati
    usr_id
    ogg_id
    dati_num
    non è che è così la query:
    Codice PHP:
    $sql "SELECT SUM(dati_num) AS totale FROM tb_dati WHERE usr_id='$iduser'"
    cmq fai un:
    $result = mysql_query($sql) or die("Errore: ".mysql_error());
    echo "

    ".$sql;
    che ti stampa l'eventuale errore e la query, così vedi se gli vengono passati i dati correttamente...

    ciao
    Lore

  7. #7
    Ciao Lore,

    grazie come sempre del tuo aiuto¨

    si i valori di $ipuser vengono passati correttamente ma al posto del totale mi esce Resource id #5

    l'echo del $sql é :
    SELECT SUM(ogg_dati) AS totale FROM tb_dati WHERE usr_id='12'

    mi sembra giusto ma non so dove sbaglio, riposto il codice:

    Codice PHP:
    <?php require_once('Connections/dbblaise.php'); ?>
    <?php
    $colname_userDetail 
    "-1";
    if (isset(
    $_GET['usr_id'])) {
      
    $colname_userDetail = (get_magic_quotes_gpc()) ? $_GET['usr_id'] : addslashes($_GET['usr_id']);
    }
    mysql_select_db($database_dbblaise$dbblaise);
    $query_userDetail sprintf("SELECT * FROM tb_dati, tb_oggetti, tb_user WHERE tb_user.usr_id = tb_dati.usr_id AND tb_oggetti.ogg_id = tb_dati.ogg_id AND tb_user.usr_id = '%s' ORDER BY tb_oggetti.ogg_name ASC"$colname_userDetail);
    $userDetail mysql_query($query_userDetail$dbblaise) or die(mysql_error());
    $row_userDetail mysql_fetch_assoc($userDetail);
    $totalRows_userDetail mysql_num_rows($userDetail);
    ?>
    <?php
    $iduser 
    $_GET['usr_id'];
    $sql "SELECT SUM(ogg_dati) AS totale FROM tb_dati WHERE usr_id='$iduser'";
    $result mysql_query($sql) or die ("Errore: ".mysql_error());

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Dettagli Utente</title>
    </head>

    <body>
    <table width="500" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="250"><h1>Dettagli utente</h1></td>
        <td width="250"></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td><h3><?php echo $row_userDetail['usr_name']; ?></h3></td>
        <td><a href=index.php>Torna indietro</a></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td colspan="2"><?php do { ?>
            <table width="500" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="250"><?php echo $row_userDetail['ogg_name']; ?></td>
                <td width="250"><?php echo $row_userDetail['ogg_dati']; ?></td>
              </tr>
            </table>
            <?php } while ($row_userDetail mysql_fetch_assoc($userDetail)); ?></td>
      </tr>
    </table>
    <table width="500" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="250">Totale</td>
        <td width="250"><?php echo $result;?> </td>
      </tr>
    </table>




    </p>
    <?php echo $sql ;?></body>
    </html>
    <?php
    mysql_free_result
    ($userDetail);
    ?>
    Grazie Michel
    PHP THE BEST

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Quando fai l'echo della query dopo provala anche direttamente nel tuo tool di gestione mysql...
    Copi-incolli
    SELECT SUM(ogg_dati) AS totale FROM tb_dati WHERE usr_id='12'
    dentro lì e vedi cosa ti restituisce come risultato...


    CMQ mi pare che la query sopra sia errata:
    codice:
    SELECT * FROM tb_dati, tb_oggetti, tb_user WHERE tb_user.usr_id = tb_dati.usr_id AND tb_oggetti.ogg_id = tb_dati.ogg_id AND tb_user.usr_id = '%s' ORDER BY tb_oggetti.ogg_name ASC
    
    questo pezzo:
    ..tb_user.usr_id = '%s'..
    
    prova a sostituirlo con 
    tb_user.usr_id LIKE '%s'
    ciao

  9. #9
    Facendolo da mysqladmin mi da il risultato giusto per esempio:


    query da mysqladmin = SELECT SUM( ogg_dati ) AS totale
    FROM tb_dati
    WHERE usr_id =8

    risultato = 82

    dentro li é giusto ma in php non mi da il risultato giusto, mi da:
    Resource id #5



    EDIT: Ho cambiato anche = in LIKE non cambia niente, solo per info!!

    LoL

    Grazie Michel
    PHP THE BEST

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Ahhh...non avevo visto...
    Tu stampi:
    Codice PHP:
    <?php echo $result;?>

    //che sarebbe
    $sql = "SELECT SUM(ogg_dati) AS totale FROM tb_dati WHERE usr_id='$iduser'";
    $result = mysql_query($sql) or die ("Errore: ".mysql_error());
    ma così non è giusto!
    Devi recuperarli i dati...
    prova così:
    Codice PHP:
    $sql "SELECT SUM(ogg_dati) AS totale FROM tb_dati WHERE usr_id='$iduser'";
    $res mysql_query($sql) or die ("Errore: ".mysql_error());
    $row mysql_fetch_array($res);
    $result $row['totale']; 
    CMQ studiati bene le connessioni, le query, come tirar fuori i dati ecc...

    http://freephp.html.it/guide/lezioni.asp?idguida=8

    ciao

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.