format de date - php et base de données

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : format de date - php et base de données

par jed » 30 mai 2007, 16:17

Mouais... Manière bien tordue pour moi d'avoir la date, mais si tu dis que ça fonctionne... :D

date

par sand » 30 mai 2007, 16:15

Merci à tous pour votre aide, j'ai enfin trouver une solution.... pas forcemment ce qui faut fiare mais ca marche en tout cas


Sur la page listant les offres "offres.php" voici le code
<td bordercolor="#999999" class="texte"><?php include 'date1.php'?></td>
<td bordercolor="#999999" class="texte"><?php echo $row_offre['Poste']; ?></td>
...



Sur la page date1.php :

<?php
$dateSQL = $row_offre['date'];
list($annee, $mois, $jour) = explode("-", $dateSQL);
$row_offre['date'] = $jour.'/'.$mois.'/'.$annee;
echo $row_offre['date'];
?>

Ici il me transforme la date au format français

et lorsque l'admin est sur le formulaire d'ajout une offre, j'ai inséré dans le champ date, la date au format Iso, ainsi il l'affiche au format français dans la page offre.php et l'affiche au format Iso dans la base de données.

Voila

par Ryle » 30 mai 2007, 15:05

Tu peux également le faire directement dans ta requête sql et ainsi ne pas te prendre la tête en php ensuite :)

Un topic de la FAQ à lire absolument : Quelques petites manipulations avec les dates (PHP/MySQL)

par sand » 30 mai 2007, 14:50

ok
Merci je vais tenter

par jed » 30 mai 2007, 14:44

Il suffit d'insérer dans ta bdd le timestamp unix avec la fonction mktime() (du genre $date=mktime(); 'INSERT INTO dates values ("'.$date.'")'); ) et tu la récupère comme ceci: $date = mysql_query('SELECT date FROM dates'); echo date ('d-m-Y', $date);

par sand » 30 mai 2007, 14:41

bon je vais tenter si c'est plus simple..

par jed » 30 mai 2007, 14:40

http://www.manuelphp.com/php/function.mktime.php

http://www.manuelphp.com/php/function.date.php

Avec ça tu vas réduire ton usine à gaz à deux lignes de code.

date

par sand » 30 mai 2007, 14:38

bjr,

euh a vrai dire je débute ...

si tu pouvais etre un peu plus explicite stp ...
Merci

par jed » 30 mai 2007, 14:37

Ben si, je vois vraiment pas l'intérêt de se compliquer la vie avec des regex! Tu insères la date avec mktime() et tu la récupère avec date('d-m-Y', $timestamp).

par MrPink » 30 mai 2007, 14:30

Hello,

Peut-être me trompe-je ? Mais,

Si tu envois la date (quelque soit le format) contenue dans ta variable dans un timestamp unix

Code : Tout sélectionner

mktime($ma_var);
et tu affiches et/ou tu stocke par la function date()

Code : Tout sélectionner

[..]=date(mktime($ma_var));
Cela ne fonctionne pas ?

par sand » 30 mai 2007, 14:29

ben je pense que j'ai du me tromper de ce coté la ... au niveau de la fonction ereg.. on me l'a indiqué
en me relisant, j'ai 'impression que c'est le contraire en fait

par Ryle » 30 mai 2007, 14:18

Toujours le même message d'erreur ? Essaye de mettre sur deux lignes l'affichage et l'affectation :
$row_Recordset1['date'] = "$regs[3]$regs[2]$regs[1]";
echo $row_Recordset1['date'];
Sinon postes tout ton fichier 'date1.php' (ou du moins les 20 premières lignes)

Attention sinon, tes commentaires ne correspondent pas au traitement effectué (les formats ne sont pas bien associés) :)

par sand » 30 mai 2007, 14:05

oui cé exact.. mais apparemment cé pas ça... ;-(

par Ryle » 30 mai 2007, 12:09

Je pense que l'erreur provient de l'ouverture de ton tag php, tu as un espace entre trop entre le "<?" et "php" :)

format de date - php et base de données

par sand » 30 mai 2007, 11:16

Bonjour,

J'ai un petit souci concernant le format de ma date. La date se trouve dans une table Mysql. Donc je lui demande de récupérer la date et de la convertir soit en format français pour afficher la date soit en format américain pour l'entrée dans la base de données



Dans la page principale, je souhaite afficher un tableau comportant la date, le poste, une description du poste, etc...

Donc dans mon tableau, j'ai utilisé la fonction include pour l'affichage de la date :
<?php do { ?> 
<tr> 
<td height="92"><?php include 'date1.php'?></td> 
<td><?php echo $row_Recordset1['Poste']; ?></td> 
... 
Dans la page "date1.php" voici le code :
<? php 
// Transformer date de aaaa-mm-jj à jj-mm-aaaa 
if (ereg ("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$row_Recordset1['date'], $regs)) 
{ 
echo $row_Recordset1['date']= "$regs[3]$regs[2]$regs[1]"; 
} 

// TRansformer date de jj-mm-aaaa en aaaa-mm-jj 
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$ligne["date"], $regs)) 
{ 
echo "$regs[3].$regs[2].$regs[1]"; 
} 
?> 
Voici le message d'erreur qu'il m'affiche sur le navigateur :

Parse error: parse error in c:\program files\easyphp1-8\www\bo\date1.php on line 11

la line 11 la voici :
if (ereg ("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$row_Recordset1['date'], $regs))


Je n'arrive pas à trouver mon erreur. Es ce quelkun peut m'aider ?
Merci