Calcoli matematici in php

carlo3ntin

Nuovo Utente
23 Nov 2021
2
0
1
Buon giorno
Sono un neofita di php e vorrei capire come assegnare ad un campo di una tabella (non ad una variabile !) il risultato di calcoli tra campi della stessa tabella e/o di variabili.
Grazie
 
Spiegati meglio: cosa intendi per tabella? una tabella 'a video' o un DB (avendo lo stesso nome è facile confondersi) ma soprattutto cosa intendi con 'campi della stessa tabella e/o di variabili'. Fai un esempio pratico
 
Grazie della risposta: cerco di essere più preciso.
Nella tabella1 Db ho un campo "data di inizio" Nella stessa tabella1 ho un campo "data di fine"
Nella stessa tabella1 ho un campo "giorni" che è la differenza tra "data di fine" e "data di inizio".
È possibile calcolare e contemporaneamente compilare il campo "giorni" ?

E se il campo "giorni" fosse in un'altra tabella Db?
E se una delle due date fosse in un'altra tabella Db?

Grazie mille
 
Dovresti tener presente degli anni bisestili; che non tutti i mesi hanno lo stesso numero di giorni e cose del genere, comunque non dovrebbe essere troppo difficile; faccio qualche prova e ti faccio sapere. In questo periodo sono abbastanza occupato ma ti farò sapere al più presto


Zorro
 
Una domanda: ma tra data d'inizio e data di fine può cambiare anche l'anno (es. 10/10/2021-10/10/2022)?
 
il titolo riporta php, quindi ti rispondo con attinenza a php,

tutto quello che chiedi si può fare, in particolare la differenza tra due date può essere calcolata con le funzioni di php,
segue lo script ed il risultato che produce,

PHP:
<?php
echo "<h2>days difference between two date-time ( using php functions )</h2>";

$date1 = '27/02/2020 00:00:00';
$date2 = '02/03/2020 00:00:00';

$dt1 = DateTime::createFromFormat('d/m/Y H:i:s', $date1);
$dt2 = DateTime::createFromFormat('d/m/Y H:i:s', $date2);

$interval = ( $dt2->getTimestamp() - $dt1->getTimestamp() ) / 86400;

echo "data di inizio : ".$dt1->format('d/m/Y H:i:s')."<br />";
echo "data di fine : ".$dt2->format('d/m/Y H:i:s')."<br /><br />";

echo "giorni : ".$interval."<br />";
?>

1638452960364.png

ho messo febbraio bisestile per vedere l'effetto che fa,

dove si trovano le date e i giorni é poco importante, perché lo script sarà sviluppato per la situazione reale
ho inserito le date come delle costanti per verificare il risultato, ma possono essere prese da una o più tabelle di un database, così come i giorni possono essere scritti in una stessa o diversa tabella
 

Allegati

  • 1638452379083.png
    1638452379083.png
    9,1 KB · Visite: 140
Ultima modifica:

Discussioni simili