Transformer une variable texte en datetime SQL

Transformer une variable texte en datetime SQL - PHP - Programmation

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
Reply

Marsh Posté le 11-12-2009 à 23:35:16   

Reply

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


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 12-12-2009 à 09:14:33    

http://dev.mysql.com/doc/refman/5. [...] tions.html


---------------
Can't buy what I want because it's free -
Reply

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

Message cité 1 fois
Message édité par fladnag49 le 12-12-2009 à 20:49:36
Reply

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.


---------------
Can't buy what I want because it's free -
Reply

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

Reply

Marsh Posté le 13-12-2009 à 09:15:23    

jagstang a écrit :

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


que feras-tu le 20 janvier 2038 ?   [:jpcheck]


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 13-12-2009 à 22:46:05    

je sais bien, mais je doute qu'une application web dure 30 ans...


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

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

Message cité 1 fois
Message édité par gatsu35 le 14-12-2009 à 09:56:42

---------------
Blablaté par Harko
Reply

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());

Reply

Marsh Posté le 01-01-2010 à 14:00:07   

Reply

Marsh Posté le 03-01-2010 à 23:22:27    

gatsu35 a écrit :


on est déjà en 2009
il ne reste que 29 ans


c'est ballot


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed