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.
Merci
A voir également:
Chargement d'une date farfelue avec la fonction STRTOTIME
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
}
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
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 ?