Conversion date FR en US vu, revu mais... [Résolu/Fermé]

Signaler
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
-
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
-
Bonjour,

Je me sers déjà de ceci pour convertir de fr en us dans un autre script :

$date_fr = $date_us;
$date_us = implode('-',array_reverse (explode('/',$date_fr)));

puis je met un STR_TO_DATE dans ma requête sql. Ca fonctionne parfaitement. J'ai voulu utiliser la même méthode pour une autre appli. mais ça ne fonctionne plus. C'est pourtant identique ?! Je vous joins l'intégralité du code html + php sans la table sql correspondante.

<form method="post" action="" name="formulaire" onsubmit="return validation()";>
<table cellspacing="1" BORDER="0">
<tr>
<th style="white-space: nowrap;" align="left">Date de la visite :<th>
<td><input type="text" name="effectue" id="effectue" size="15" onfocus="view_microcal(true,effectue,microcal5,-1,0);" onblur="view_microcal(false,effectue,microcal5,-1,0);" onkeyup="this.style.color=testTypeDate(this.value)?'black':'red'"></TD>
<td><div id="microcal5" style="visibility:hidden; position:absolute; border:0px red dashed; background:#abe85d;"></div></td>

<td><input type="hidden" name="idchariot" value="<?php echo $total['idchariot'] ?>"></td>
</tr>
<tr>
<th align="left">Socièté :<th>
<td><input type="text" name="societe" value="" size="15"></td>
</tr>
<tr>
<td><input type="submit" name="enregistrer3" value="Enregistrer"></td>
<td style="white-space: nowrap;"><input type= "checkbox" name="type1" value=""> VR 1</td>
<td style="white-space: nowrap;"><input type= "checkbox" name="type2" value=""> VR 2</td>
</tr>
</table>
</form>


<?php

$type1 = $_POST['type1'];
$type2 = $_POST['type2'];

$effectue = $_POST['effectue'];
$societe = $_POST['societe'];
$idchariot = $_POST['idchariot'];

$effectue = $date_fr;
$date_fr = implode('/',array_reverse(explode('-',$effectue)));

if (isset($_POST['enregistrer3']))
{
if (isset($_POST['type1'])){

$req = mysql_query("INSERT INTO suivi_vr (idvr, idchariot, effectue, societe) VALUES ('', '$idchariot', STR_TO_DATE('$effectue', '%d/%m/%Y'), '$societe')");
}

if (isset($_POST['type2'])){

$req2 = mysql_query("INSERT INTO suivi_vr2 (idvr, idchariot, effectue, societe) VALUES ('', '$idchariot', STR_TO_DATE('$effectue', '%d/%m/%Y'), '$societe')");
}
else
echo "<script>alert('Veuillez sélectionner VR1 OU VR2')</script>";
}
?>

6 réponses

Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
Bonsoir,

en plus simple:

<?php
$date_fr="25/12/2008";//jour, mois, annee
$array_date_fr=explode("/",$date_fr); //explode en un array
$date_us=$array_date_fr[2],$array_date_fr[0],$array_date_fr[1];// annee, jour, mois

?>
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
15
Bonsoir Alain,

avec ta méthode je n'ai plus besoin de mettre STR_TO_DATE dans ma requête ?

Merci pour ta réponse, plus rapide que l'éclair ! :)
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
non
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
15
Ton code me fait une erreur :

Parse error: syntax error, unexpected ',' in C:\wamp\www\new4.php on line 4

??
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
15
Je ne vois rien d'anormale dans ton code
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
15
quelqu'un a une idée pour cette histoire de ',' ?

Merci :)
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
873
Aie ! j'avais des peaux de sausissons devant les yeux qd je t'ai fais ce code

il faut:

<?php
$date_fr="25/12/2008";//    jour/ mois/annee
$array_date_fr=explode("/",$date_fr); //explode en un array
$date_us=$array_date_fr[2]."-".$array_date_fr[0]."-".$array_date_fr[1]; //   annee-jour-mois
//bien sur tu peux modifer les separateurs /  ou -
?>
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
15
Je me permet juste de remettre la date_us dans l'ordre pour sql.

$date_us=$array_date_fr[2]."-".$array_date_fr[1]."-".$array_date_fr[0]; //Annee,mois,jour

Merci Alain :)