Qui
$query = "SELECT *, (somma_giorno1 + somma_giorno2) / n
n non è nulla... devi metterci un numero... che nel tuo caso è "2"
Qui
$query = "SELECT *, (somma_giorno1 + somma_giorno2) / n
n non è nulla... devi metterci un numero... che nel tuo caso è "2"
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?
$var = sprintf("%s", $number);
ho fatto così però non'è cambiato niente
pensavo di mettere (int) però mi leva anche i decimali<?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>
<?
}
?>
Ovvio che no
dovrai sostituire questo
Con questoCodice PHP:
$row['media_voto']
La mia era solo un'indicazione che presupponeva tu dessi un'occhiata alla funzione sprintf per vedere cosa fa e usarlaCodice PHP:
sprintf($row['media_voto']));
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>
<?
}
?>
niente, ho riprovato ma rimangono ancora i centesimi e i millesimi
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?
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"
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>
<?
}
?>![]()