Rechercher : dans
Par :

Conversion date FR en US vu, revu mais...

Dernière réponse le 26 déc 2008 à 18:58:33 bruno3591, le 25 déc 2008 à 20:06:07 
 Signaler ce message aux modérateurs

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>";
}
?>

Configuration: Linux
Firefox 8.10

1

Alain_42, le 25 déc 2008 à 20:11:51

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

?>

Répondre à Alain_42

2

bruno3591, le 25 déc 2008 à 20:30:35

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 ! :)

Répondre à bruno3591

3

Alain_42, le 25 déc 2008 à 20:47:20

Non

Répondre à Alain_42

4

bruno3591, le 25 déc 2008 à 20:48:38

Ton code me fait une erreur :

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

??

Répondre à bruno3591

5

bruno3591, le 25 déc 2008 à 21:53:44

Je ne vois rien d'anormale dans ton code

Répondre à bruno3591

6

bruno3591, le 26 déc 2008 à 10:27:29

Quelqu'un a une idée pour cette histoire de ',' ?

Merci :)

Répondre à bruno3591

7

Alain_42, le 26 déc 2008 à 11:05:45

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 -
?>

Répondre à Alain_42

8

 bruno3591, le 26 déc 2008 à 18:58:33

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 :)

Répondre à bruno3591