Page 1 sur 3

Strftime et strtotime

Posté : 13 mai 2013, 17:11
par NUAGE
Bonjour,

J'ai un problème avec le format de la date, je veux la mettre sous format français. Quand j'insère la date 20/05/2013, ça me renvoie cette erreur
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '', strtotime(20/05/2013))', '')' at line 1
<?php 

  include("connexion.php");
$nom=isset($_POST['nom'])?$_POST['nom']:"";
$daten=isset($_POST['date'])?$_POST['date']:"";
$date2=isset($_POST['date2'])?$_POST['date2]:"";
setlocale(LC_TIME, "fr_FR.utf-8");
  //création de la requête SQL
$sql= "INSERT INTO `Formation` (`idFormation`, `nom`, `date`, `date2`) VALUES (' ', '$nom', strftime('%A %d %B %Y', strtotime($date))'., '$date2');";


       

  $requete = mysql_query($sql) or die( mysql_error() ) ;

if($requete)
  {
    echo("La formation a été créé") ;
  }
  else
  {
    echo("La formation n'a pas été créé") ;
  } 

Merci de votre aide.

Re: Strftime et strtotime

Posté : 13 mai 2013, 17:24
par ghost5922
Bonjour,

je ne connais pas cette fonction mais il a quelques erreur dans ton code avoir

tu mets $daten ou $date2

et dans la requête $date et $date2 :)
<?php 

  include("connexion.php");
$nom=isset($_POST['nom'])?$_POST['nom']:"";
$date=isset($_POST['date'])?$_POST['date']:"";
$date2=isset($_POST['date2'])?$_POST['date2']:"";
setlocale(LC_TIME, "fr_FR.utf-8");
  //création de la requête SQL
$sql= "INSERT INTO `Formation` (`idFormation`, `nom`, `date`, `date2`) VALUES (' ', '$nom', ".strftime('%A %d %B %Y', strtotime($date))."', '$date2');";


       

  $requete = mysql_query($sql) or die( mysql_error() ) ;

if($requete)
  {
    echo("La formation a été créé") ;
  }
  else
  {
    echo("La formation n'a pas été créé") ;
  } 
?>
teste comme cela :)

Re: Strftime et strtotime

Posté : 14 mai 2013, 09:08
par NUAGE
Bonjour !

Merci ghost5922 d'avoir répondu, j'ai testé et j'ai eu cette erreur :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '20 May 2013', '')' at line 1

Re: Strftime et strtotime

Posté : 14 mai 2013, 09:39
par Spols
et ceci ?
<?php 

  include("connexion.php");
$nom=isset($_POST['nom'])?$_POST['nom']:"";
$date=isset($_POST['date'])?$_POST['date']:"";
$date2=isset($_POST['date2'])?$_POST['date2']:"";
setlocale(LC_TIME, "fr_FR.utf-8");
  //création de la requête SQL
$sql= "INSERT INTO `Formation` (`idFormation`, `nom`, `date`, `date2`) VALUES (' ', '$nom', '".strftime('%A %d %B %Y', strtotime($date))."', '$date2');";


       

  $requete = mysql_query($sql) or die( mysql_error() ) ;

if($requete)
  {
    echo("La formation a été créé") ;
  }
  else
  {
    echo("La formation n'a pas été créé") ;
  } 
?>
Il manquait probablement un ' dans ta requète

Re: Strftime et strtotime

Posté : 14 mai 2013, 09:44
par NUAGE
J'ai essayé, l'insertion se fait mais aucun changement dans le format de la date...

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:13
par ghost5922
Bonjour,

tu peux nous donne les valeurs de $date et $date2 stp

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:19
par NUAGE
Pour l'instant je ne teste que $date
Dans mon input, j'ai 20/05/2013. J'ai peut-être pas compris mais c'est ce que vous me demander ?

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:26
par ghost5922
Bonjour,

tu peux essaie avec cette date pour voir 05/25/2013 stp

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:31
par NUAGE
Toujours rien...

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:37
par ghost5922
Bonjour,

tu as bien mi mm/jj/aaaa juste pour etre sur :p

car moi cela marche
$date=strftime("%A %d %B %Y", strtotime("05/25/2013")) ;
echo $date;
affiche : Saturday 25 May 2013

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:42
par ghost5922
si je mets

setlocale(LC_TIME, "fr_FR.utf-8");

samedi 25 mai 2013 ;)

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:49
par NUAGE
Dans formulaire c'est ce format là qu'il prend 2013-05-04

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:50
par NUAGE
Dans formulaire c'est ce format là qu'il prend 2013-05-04 et moi je veux pouvoir insérer de cette façon 04/05/2013

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:51
par ghost5922
Bonjour,

cela marche aussi
setlocale(LC_TIME, "fr_FR.utf-8");
$date='2013-05-04';

$d=strftime('%A %d %B %Y', strtotime($date));
echo $d;
samedi 04 mai 2013

Re: Strftime et strtotime

Posté : 14 mai 2013, 10:53
par ghost5922
Test ce code
<?php 

  include("connexion.php");
$nom=isset($_POST['nom'])?$_POST['nom']:"";
$date=isset($_POST['date'])?$_POST['date']:"";
$date2=isset($_POST['date2'])?$_POST['date2']:"";
setlocale(LC_TIME, "fr_FR.utf-8");

$d=strftime('%A %d %B %Y', strtotime($date));

$sql= "INSERT INTO `Formation` (`idFormation`, `nom`, `date`, `date2`) VALUES (' ', '$nom', '$d', '$date2');";


       

  $requete = mysql_query($sql) or die( mysql_error() ) ;

if($requete)
  {
    echo("La formation a été créé") ;
  }
  else
  {
    echo("La formation n'a pas été créé") ;
  } 
?>
si ca marche pas merci de poster la structure de la table :)