J'essaye de calculer le nombre de secondes entre deux dates.
A cette fin j'utilise la nouvelle fonction TIMESTAMPDIFF:
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
Retourne la différence entière entre les expressions datetime_expr1 et datetime_expr2 , de format DATE et DATETIME . L'unité du résultat est donné par l'argument interval . Les valeurs légales de interval sont les mêmes que pour la fonction TIMESTAMPADD() .
mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
-> 3
mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');
-> -1
Voici mon code:
A cette fin j'utilise la nouvelle fonction TIMESTAMPDIFF:
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
Retourne la différence entière entre les expressions datetime_expr1 et datetime_expr2 , de format DATE et DATETIME . L'unité du résultat est donné par l'argument interval . Les valeurs légales de interval sont les mêmes que pour la fonction TIMESTAMPADD() .
mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
-> 3
mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');
-> -1
Voici mon code:
Code PHP :
<?php
$query = mysql_query ("SELECT date_dernier_calcul FROM stock WHERE id_machines='1'") or die(mysql_error());
while ($dernier_calcul = mysql_fetch_row($query))
{
$time = mysql_query("UPDATE stock SET nombre_secondes = TIMESTAMPDIFF(SEC,'" . DATE(Y-M-D H:i:s) . "','" . $dernier_calcul[0] ."')") or die(mysql_error());
}
Première question: est-il possible de retirer la boucle? cad je mets le pointeur sur un champs précis (une seule donnée) mai je ne sais pas comment faire pour utiliser cette donnée sans mysql_fetch_array.
Deuxième question: j'ai la traditionnelle Parse error: parse error, unexpected T_STRING dans la ligne qui commene par $time mais je ne trouve pas l'erreur...
Merci de votre aide.