PDA

View Full Version : [PHP]Eseguire calcoli e operazioni aritmetiche


MarcoXX84
06-02-2006, 21:44
Mi direste per favore con quali comandi posso far eseguire al linguaggio php delle operazioni aritmetiche?

Del tipo: (A*B)/C oppure ancora senA/B e cose di questo tipo.

Se mi scrivete una riga di esempio....

Grazie mille! :p

DarkRevenge
06-02-2006, 22:51
// (A*B) / C
$a = 10;
$b = 20;
$c = 30;
echo ($a * $b) / $c; // scrive il risultato

// sen(A/B)
$a = 180;
$b = 2;
echo sin($a/$b); // scrive il risultato

Per ulteriori funzioni utilizza il motore di ricerca del sito www.php.net (http://www.php.net)

MarcoXX84
06-02-2006, 23:15
Ti ringrazio.......era quel che cercavo.

Mettiamo che io debba richiedere al visitatore l'inserimento dei numeri da utilizzare nei calcoli, che farò interpretare come variabili:
Li faccio inserire dentro a delle text area, ma poi come faccio a farli riconoscere come "text-area" da associare alle variabili?

E infine, mettiamo che il visitatore dopo avere compilato tutte le text-area richieste, debba premere un pulsantino tipo "submit" per far procedere il codice con i calcoli e pubblicare così il risultato: come dovrei fare?

Spero di non aver esagerato...

andbin
07-02-2006, 08:54
Ti ringrazio.......era quel che cercavo.

Mettiamo che io debba richiedere al visitatore l'inserimento dei numeri da utilizzare nei calcoli, che farò interpretare come variabili:
Li faccio inserire dentro a delle text area, ma poi come faccio a farli riconoscere come "text-area" da associare alle variabili?

E infine, mettiamo che il visitatore dopo avere compilato tutte le text-area richieste, debba premere un pulsantino tipo "submit" per far procedere il codice con i calcoli e pubblicare così il risultato: come dovrei fare?

Spero di non aver esagerato...
Guarda questo esempio e cerca di capire come funziona:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Calcolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<?php
if (isset ($_POST['val_a']) && isset ($_POST['val_b']) && isset ($_POST['val_c']))
{
$a = (float) $_POST['val_a'];
$b = (float) $_POST['val_b'];
$c = (float) $_POST['val_c'];
$risultato = @($a * $b / $c);

if ($risultato !== FALSE)
echo "Risultato di A*B/C = " . $risultato . "<br><br>";
else
echo "Errore nel calcolo<br><br>";
}
?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<p>
Valore A <input id="val_a" type="text" name="val_a" size="20" maxlength="20" value="<?php echo htmlspecialchars ($_POST['val_a'], ENT_QUOTES); ?>">
<br>
Valore B <input id="val_b" type="text" name="val_b" size="20" maxlength="20" value="<?php echo htmlspecialchars ($_POST['val_b'], ENT_QUOTES); ?>">
<br>
Valore C <input id="val_c" type="text" name="val_c" size="20" maxlength="20" value="<?php echo htmlspecialchars ($_POST['val_c'], ENT_QUOTES); ?>">
<br>
<input type="submit" value="Calcola">
</p>
</form>

</body>
</html>

MarcoXX84
07-02-2006, 17:45
Guarda questo esempio e cerca di capire come funziona:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Calcolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<?php
if (isset ($_POST['val_a']) && isset ($_POST['val_b']) && isset ($_POST['val_c']))
{
$a = (float) $_POST['val_a'];
$b = (float) $_POST['val_b'];
$c = (float) $_POST['val_c'];
$risultato = @($a * $b / $c);

if ($risultato !== FALSE)
echo "Risultato di A*B/C = " . $risultato . "<br><br>";
else
echo "Errore nel calcolo<br><br>";
}
?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<p>
Valore A <input id="val_a" type="text" name="val_a" size="20" maxlength="20" value="<?php echo htmlspecialchars ($_POST['val_a'], ENT_QUOTES); ?>">
<br>
Valore B <input id="val_b" type="text" name="val_b" size="20" maxlength="20" value="<?php echo htmlspecialchars ($_POST['val_b'], ENT_QUOTES); ?>">
<br>
Valore C <input id="val_c" type="text" name="val_c" size="20" maxlength="20" value="<?php echo htmlspecialchars ($_POST['val_c'], ENT_QUOTES); ?>">
<br>
<input type="submit" value="Calcola">
</p>
</form>

</body>
</html>
Beh per ora ti ringrazio, poi ti farò sapere se avrò avuto successo! :D

wisher
07-02-2006, 18:21
cmq cerca qualche guida sulle variabili post (sono quelle usate nell'esempio)

MarcoXX84
07-02-2006, 22:03
Ho elasticizzato il codice in base alle mie necessità e sta rispondendo molto bene, partendo dalla base di quello che mi è stato postato.
Non capisco però come mai ci sono così tanti comandi "strani" ed elaborati: partendo dalla guida php.net io li avrei fatti molto più semplici (poi magari non funzionavano eh!... :mc: )

Adesso, avrei bisogno di un altro consiglio(dite che me ne sto approfittando :D ?)

Avuti i risultati dei calcoli che sto inserendo, mi piacerebbe che la casella del risultato cambi colore in base allo stesso, secondo il criterio del: se è <X allora colora blu, se è =X colora verde, se è >X colora rosso.

CMQ un grazie particolare ad Andbin ;) .

wisher
08-02-2006, 07:52
Ho elasticizzato il codice in base alle mie necessità e sta rispondendo molto bene, partendo dalla base di quello che mi è stato postato.
Non capisco però come mai ci sono così tanti comandi "strani" ed elaborati: partendo dalla guida php.net io li avrei fatti molto più semplici (poi magari non funzionavano eh!... :mc: )

Adesso, avrei bisogno di un altro consiglio(dite che me ne sto approfittando :D ?)

Avuti i risultati dei calcoli che sto inserendo, mi piacerebbe che la casella del risultato cambi colore in base allo stesso, secondo il criterio del: se è <X allora colora blu, se è =X colora verde, se è >X colora rosso.

CMQ un grazie particolare ad Andbin ;) .
fai un if sul valore e poi scrivi il codice html per cambiare colore e scrivi il valore

andbin
08-02-2006, 08:23
Avuti i risultati dei calcoli che sto inserendo, mi piacerebbe che la casella del risultato cambi colore in base allo stesso, secondo il criterio del: se è <X allora colora blu, se è =X colora verde, se è >X colora rosso.Puoi farlo con i CSS.

Metti nel HEAD della pagina questo codice:
<style type="text/css">
<!--
.val_minore { color: blue; }
.val_uguale { color: green; }
.val_maggiore { color: red; }
-->
</style>Poi in PHP fai il test:
if (....)
$cls = "val_minore";
else if (....)
$cls = "val_uguale";
else
$cls = "val_maggiore";e poi, ancora in PHP:
echo "Risultato di A*B/C = <span class=\"$cls\">$risultato</span><br><br>";

CMQ un grazie particolare ad Andbin ;) .Prego, di nulla!