Timestamp PHP

Résolu
Pyrophoenix -  
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je travaille en PHP-MySQL et je suis tombé sur un pépin. Je veux que la date s'affiche sur mon tableau en php et tout ce qu'il m'affiche est le datestamp entier.

J'ai entré dans function.inc.php la fonction suivante:

}
function get_current_datestamp(){
//get the current timestamp
$currdate = gmdate("Ymd");
$currday = substr($currdate,6,2);
$currmonth = substr($currdate,4,2);
$curryear = substr($currdate,0,4);
$currdate_stamp = ($curryear . "-" . $currmonth . "-" . $currday);

return $currdate_stamp;

}

Sous mon fichier tableau.php

Je dois mettre

$current_datestamp = get_current_datestamp()

quelque part mais c'est là ou ça se corse.

la partie source de la page est la suivante:

<tr class="<?php print $className?>">
<TD align="center" class="txt" ><?php print $i?>.</TD>
<TD align="center" class="txt" ><?=$line['No']?></TD>
<TD align="center" class="txt" ><?=$line['dateactivation'];?></TD>
<TD align="center" class="txt" ><?=$line['email']?></TD>
<TD align="center" class="txt" ><?=$line['pseudo']?></TD>
<TD align="center" class="txt"><? if($line[status]==1){?>Active<? }else{?>InActive<? }?></TD>

dateactivation est celui dont j'amerai que la date soit au format jj.mm.aaaa

Est-ce que quelqun pourait m'aider s'il vous plait?

Merci en avance pour votre réponse ^^
A voir également:

6 réponses

Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   15
 
Ben ouais !

$line['contract_date']('d/m/Y', $timestamp);

soit :
<? $line['contract_date'] = date('d/m/Y', $timestamp); ?>

puis :
<TD align="center" class="txt" ><?=$line['contract_date'];?></TD>


soit :
<TD align="center" class="txt" ><?=date('d/m/Y', $timestamp);?></TD>



C'est quoi " =$line[...]", je connais pas, echo ?

EDIT : si tu veux, Fatal error parce qu'il à pris $line['contract_date'] comme une fonction ($line['contract_date']();)

d'ailleurs je suis en train de comprendre que ton timestamp est enregistré dans ta variable $line['contract_date'],
alors place-y directement (à la place de $line['contract_date']('d/m/Y', $timestamp);) : date('d.m.Y', $line['contract_date']);
soit :
<TD align="center" class="txt" ><?=date('d/m/Y', $line['contract_date']);?></TD>
2
Pyrophoenix
 
MAGNIFIQUE !! ^^ Merci infiniment


Pour l'info sur $line:

Ca vient de cette ligne

<?php $i=0;while($line=mysql_fetch_array($result)){$className = ($className == "evenRow")?"oddRow":"evenRow";$i++;?>

Encore merci!
0
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   15
 
Salut,

$line['dateactivation'] = date('d.m.Y'); // il me semble, et pas besoin de la fonction


Ta fonction est lourde et ne sert pas à grand chose, il y a deja ce qu'il faut : https://openclassrooms.com/fr/courses

EDIT :
$line['dateactivation'] = gmdate('d.m.Y'); // gmdate si tu veux !
0
Pyrophoenix
 
Merci pour ta réponse!

J'ai essayé de mettre le code et ça me donne la date d'aujourd'hui et non celle de la date d'activation.

T'aurais une autre idée?
0
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   15
 
Je comprends pas alors, c'est quoi get_current_datestamp(),
tu as la même chose : $currdate = gmdate("Ymd"); que tu décompose ensuite,

essaie de faire $line['dateactivation'] = get_current_datestamp();,

tu devrais avoir la même chose,

encore qu'il me semble que ce que tu retourne doit se trouver dans les paramètres d'entrée de la fonction : function get_current_datestamp($currdate_stamp) { ... return $currdate_stamp; }
avec l'appel : $line['dateactivation'] = get_current_datestamp(''); // tu mets ce que tu veux entre parenthèse puisque tu formate la variable dans la fonction.

Si tu as ton timestamp correspondant, il faut s'en servir, et là encore, c'est sur : https://openclassrooms.com/fr/courses

$line['dateactivation'] = date('d.m.Y', $timestamp); // $timestamp, c'est le timestamp, et avec gmdate si tu veux
0
Pyrophoenix
 
J'crois que j'ai mal formulé la question:

J'ai déjà des date qui sont prédéfini sur ma base de donnée MySQL quand je les appeles ce qu'il me donne c'est 1210118400 alors que je veux qu'il soit 07/05/2008 (dd/mm/yyyy).

Oublions la fonction get_current_datestamp. Désolé pour la confusion.
0
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   15
 
Donc c'est exactement ce que je t'ai dit :

ton "1210118400", c'est un timestamp, et une date avec le timestamp c'est :
date('d.m.Y', '1210118400'); // pour jj.mm.aaaa du timestamp 1210118400
date('d/m/Y', '1210118400'); // pour jj/mm/aaaa du timestamp 1210118400
date('d-m-Y', '1210118400'); // pour jj-mm-aaaa du timestamp 1210118400
// ou
gmdate('d.m.Y', '1210118400'); // etc...


regarde le lien, il t'aidera serieusement.

EDIT : le timestamp correspond au nombre de secondes écoulées au moment présent depuis le 1er janvier 1970, 0h00 (= naissance système unix)
0
Pyrophoenix
 
Merci pour ta réponse.

J'avais compris la notion de timestamp. Le problème est que le chiffre proprement dit est dynamique et je n'arrive pas à l'intégré.

J'ai mis:

132 <TD align="center" class="txt" ><?=$line['contract_date']('d/m/Y', $timestamp);?></TD>

et ça me donne:

Fatal error: Call to undefined function: 1210809600() in /home/www/web/cus_list.php on line 132
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   15
 
Non, c'est le "=" que je n'ai jamais vu, je suppose bien que ta variable viens de quelque part.

"=" c'est pareil que "echo" ?
0
Pyrophoenix
 
Absolument ^^ C'est la version courte

Voir: https://www.php.net/echo
0
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   15
 
Ok,

Inutile pour moi^^, j'ouvre mes balises au debut du script, j'enregistre tout ce que je dois sortir dans une variable et je sors le tout à la fin juste avant de refermer ma balise php.

Au moins je le saurais, pour tout ce qui est insertion simple de code dans du html, c'est pas mal !

Merci.
0