Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 35
  1. #21
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Qui

    $query = "SELECT *, (somma_giorno1 + somma_giorno2) / n

    n non è nulla... devi metterci un numero... che nel tuo caso è "2"

  2. #22
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Perfetto ora funziona, grazie per la pazienza che state avendo

    L'ultima cosa, come risultato dovrebbe darmi 46,5 invece mi da 46.5000 come posso levare quei 3 zeri?

  3. #23
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    $var = sprintf("%s", $number);

  4. #24
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ho fatto così però non'è cambiato niente

    <?php
    $query = "SELECT *, (voto_giorno1 + voto_giorno2) / 2 AS media_voto FROM schedario WHERE id=$allievo";
    $result = mysql_query($query, $conn);
    $var = sprintf("%s", $media_voto);
    while ($row = mysql_fetch_array($result)) {?>
    <td align="center" bgcolor="#D3D3D3"><span class="testo_viola_bold"><?=$row['media_voto']?></span></td>
    <?
    }
    ?>
    pensavo di mettere (int) però mi leva anche i decimali

  5. #25
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Ovvio che no

    dovrai sostituire questo
    Codice PHP:
    $row['media_voto'
    Con questo
    Codice PHP:
    sprintf($row['media_voto'])); 
    La mia era solo un'indicazione che presupponeva tu dessi un'occhiata alla funzione sprintf per vedere cosa fa e usarla

  6. #26
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    così va bene?
    <?php
    $query = "SELECT *, (voto_giorno1 + voto_giorno2) / 2 AS media_voti FROM schedario WHERE id=$allievo";
    $result = mysql_query($query, $conn);
    $var = sprintf("%s", $media_voti);
    while ($row = mysql_fetch_array($result)) {?>
    <td align="center" bgcolor="#D3D3D3"><span class="testo_viola_bold"><?=sprintf($row['media_voti'])?></span></td>
    <?
    }
    ?>

  7. #27
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    niente, ho riprovato ma rimangono ancora i centesimi e i millesimi

  8. #28
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    forse ho capito è un problema del db. Come devono essere i campi dove vanno memorizzati i numeri?

    varchar
    int
    tynit
    decimal

    io ho messo int (2) è giusto?

  9. #29
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    mi pare, vado a memoria, che quando fai calcoli nelle query (come ad esempio le somme e la divisione) mysql "promuova" il tipo a double. Il tipo scelto da te va bene (se int(2) ti basta... altrimenti lo "allarghi" a int(3) o più... insomma, vedi tu).

    Per formattare il risultato con la precisione voluta

    http://php.net/sprintf

    nell'esempio (8) (classico di valuta) lo fa a 2 cifre decimali, sempre e comunque.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #30
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    niente non ci riesco, ho letto l'esempio 8 e ho cambiato il codice ma continua ad uscire 46.5000

    <?php
    $query = "SELECT *, (voto_giorno1 + voto_giorno2) / 2 AS media_voti FROM schedario WHERE id=$allievo";
    $result = mysql_query($query, $conn);
    $formatted = sprintf("%01.2f", $media_voti);
    while ($row = mysql_fetch_array($result)) {?>
    <td align="center" bgcolor="#D3D3D3"><span class="testo_viola_bold"><?=sprintf($row['media_voti'])?></span></td>
    <?
    }
    ?>

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.