Transformer une variable texte en datetime SQL - PHP - Programmation
Marsh Posté le 12-12-2009 à 00:52:49
tu travailles avec quelle base de données ?
Un conseil, travail avec des timestamps tu te facilitera la vie pour stocker, comparer, calculer etc sur des dates
Marsh Posté le 12-12-2009 à 09:14:33
http://dev.mysql.com/doc/refman/5. [...] tions.html
Marsh Posté le 12-12-2009 à 16:52:27
j'ai resolue mon probleme, erreur de format et de syntaxe. merci encore
autre petit question : maintenant j'ai dans ma base des champ 'heurearrivee' et 'heuredepart' au format datetime. Je souhaite avoir la duree entre ses deux dates comment puis je faire. sachant que j'ai lu tout le lien fournis, j'en comprend le sens mais n'arrive pas a l'inserer dans ma page php.
je sais ils sont lourd les debutants
Marsh Posté le 12-12-2009 à 21:04:01
fladnag49 a écrit : e j'ai lu tout le lien fournis, j'en comprend le sens mais n'arrive pas a l'inserer dans ma page php. |
essaye, si tu n'y arrives pas poste le code qui ne fonctionne pas.
Marsh Posté le 13-12-2009 à 00:21:38
merci pour tes encouragements skeye
je comprend et je suis capable d'appliquer des commandes comme insert ou select. je cree une variable ($titi) dans laquelle j'insere une chaine de caractere contenant ma commande insert ou select puis je cree une autre variable ($toto)=mysql_query($titi) qui me permet d'executer mon select ou mon insert.
mais la je vois pas dutout comment exploiter cette explication
•TIMEDIFF(expr,expr2)
TIMEDIFF() retourne la durée entre l'heure de début expr et l'heure de fin expr2. expr et expr2 sont des expressions de type TIME ou DATETIME, et doivent être de même type.
mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', '2000:01:01 00:00:00.000001');
-> '-00:00:00.000001'
mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001','1997-12-30 01:01:01.000002');
-> '46:58:57.999999'
j'ai essaye comme suis mais ca donne rien
$sql = 'SELECT * FROM presence';
$comp=0;
while( $data = mysql_fetch_assoc($req))
{
$toto = 'select timediff('.$data["heuredepart"].','.$data["heurearrivee"].')';
$comp +=1;
echo 'date depart : '.$data["heuredepart"].'<br/>';
echo 'date arrivee : '.$data["heurearrivee"].'<br/>';
${'duree'.$comp} = mysql_query($toto);
echo ${'duree'.$comp}.'<br><br><br>';
}
mysql_close();
mais ${'duree'.$comp} ne contient rien, je n'ai donc rien ensuite a inserer dans ma base
Marsh Posté le 13-12-2009 à 09:15:23
jagstang a écrit : tu travailles avec quelle base de données ? |
que feras-tu le 20 janvier 2038 ?
Marsh Posté le 13-12-2009 à 22:46:05
je sais bien, mais je doute qu'une application web dure 30 ans...
Marsh Posté le 14-12-2009 à 09:56:36
jagstang a écrit : je sais bien, mais je doute qu'une application web dure 30 ans... |
on est déjà en 2009
il ne reste que 29 ans
Marsh Posté le 01-01-2010 à 14:00:07
merci a skeye
voici comment j'ai fait pour que ca fonctionne si ca peux servir a quelqu'un
$sql = "INSERT INTO presence(id,heurearrivee,duree,type,heuredepart,idenfant) VALUES('','$heurearrivee',TIMESTAMPDIFF(MINUTE,'$heurearrivee','$heuredepart')/60,'$type','$heuredepart','$idenfant')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Marsh Posté le 03-01-2010 à 23:22:27
gatsu35 a écrit : |
c'est ballot
Marsh Posté le 11-12-2009 à 23:35:16
Bonsoir,
voici mon probleme:
j'utilise un formulaire pour saisie des date et des heures (commande <input type='text' etc....) et je les stocke dans un variable php sous la forme (aaaa-mm-jj hh:mm:ss) Mais lorsque que je l'insere dans ma base mysql (champ de type datetime) rien ne se passe. il y a plusieurs champs dans la base et si je retire cette variable tout se passe bien.
J'en suis arrivé a la conclusion que ma variable etait de type texte et que pour cette raison je ne peux pas l'inserer dans un champ datetime.
probleme: existe t il une facon de transformer ma variable en datetime?
merci
Édité par Elmoricq : titres en majuscules interdits.
Message édité par Elmoricq le 12-12-2009 à 03:46:03