Chargement d'une date farfelue avec la fonction STRTOTIME
ecolom
Messages postés68Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention 1 décembre 2012
-
24 mars 2009 à 15:03
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
24 mars 2009 à 21:56
Bonjour les z'amis,
je ressors mes rames pour un bon moment... pfffffffffffff
j'ai un petit soucis avec la commande STRTOTIME.
En fait, je désirais afficher dans les zones de mon formulaire un format date Français.
Après quelques recherches, j'ai pu adapter la fonction STRTOTIME qui me donne de bon résultat.
Cependant, quand mes zones dates sont alimentées via la db sql et une date correcte, pas de prob. mais quand ma zone est = à une date 0000-00-00 ( parce qu'il n'y a pas encore eu d'encodage ) j'ai en retour une date farfelue du style 30-11-1999.
Ci-dessous mon bout de code :
<?php
include('..\include\common\haut.inc.php');
include('..\include\gestion_sg\param.inc.php');
$email =$_REQUEST['email']; //Recuperation de la variable email du lien de la page
$liendb = mysql_connect($host,$user,$pws);
mysql_select_db ($database);
$sql = "select * from ticket where email='$email' and Status IN ('AP','PL') order by Status";
$resultat = mysql_query ($sql);
?>
----
<?php
while ($ticket = mysql_fetch_array ($resultat))
{
$numticket = $ticket['numticket'];
$timestamp = strtotime($ticket['datedebut']); //Adaptation de la date format EN de la DB en format FR
$datefr = date('d-m-Y', $timestamp); //Parametre affichage en format FR
$timestamp1 = strtotime($ticket['datesouhaitee']); //Adaptation de la date format EN de la DB en format FR
$datefr1 = date('d-m-Y', $timestamp1); //Parametre affichage en format FR
$timestamp2 = strtotime($ticket['dateprevue']); //Adaptation de la date format EN de la DB en format FR
$datefr2 = date('d-m-Y', $timestamp2); //Parametre affichage en format FR
$operateur= $ticket['operateur'];
$Status = $ticket['Status'];
Avez-vous une idée, une explication qui me permettrait d'afficher une valeur à blanc ou la date équivalente à 00-00-0000 si il n'y a pas de données pour cette zone dans la DB.
Toutes indication, aides sont les bienvenues.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 24 mars 2009 à 21:05
Salut Ecolom,
Peut être tout simplement en faisant un trucbidule du genre :
if ($ticket['dateprevue'] == '0000-00-00') {
$datefr2 = 'naissance de JC'; // la date équivalente à 00-00-0000
} else {
$timestamp2 = strtotime($ticket['dateprevue']); //Adaptation de la date format EN de la DB en format FR
$datefr2 = date('d-m-Y', $timestamp2); //Parametre affichage en format FR
}
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 24 mars 2009 à 21:06
Salut,
Plutôt que d'utiliser strtotime(), regarde plutôt du côté de date_create() avec date_format() pour du procédural ou vers l'objet DateTime pour de l'objet. Tu trouvera des exemples de ce genre de choses dans la documentation de DateTime::format
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 24 mars 2009 à 21:56
heu ... j'ai sans doute dis une connerie, qui ne sera ni la première ni la dernière.
A vrai dire tout ça porte un peu à confusion.
Quelles sont les valeurs exactes contenues dans ta DB ?
Quel type de champ est ce ?
As tu l'accès complet sur la base ?