Bonjour à tous.
Dans la série les petits problémes d'Arkilon, aujourd'hui je m'attaque aux dates !
Principe :
J'ai un petit formulaire qui me permet de saisir une date de début de période et une date de fin de période.
Tout ceci lié à une petite table SQL qui reprend ces 2 Champs date_debutperiode et date_finperiode déclaré avec le type DATE, format 0000-00-00 (ISO).
But :
Je me suis servi de la faq "Quelques petites manipulations avec les dates (PHP/MySQL)"
ETAPE 1: Les 2 champs textes (date_debutperiode et date_finperiode) doivent me remonter la date déjà saisie et me la convertir au format FR, là pas de souci voici le code :
<?php
// Transformation de la date ISO en FR pour Debut période
$dateSQLDP = $row_majperiode['date_debutperiode'];
list($annee, $mois, $jour) = explode("-", $dateSQLDP);
$dateFRDP = $jour.'/'.$mois.'/'.$annee;
// Transformation de la date ISO en FR pour Fin Période
$dateSQLFP = $row_majperiode['date_finperiode'];
list($annee, $mois, $jour) = explode("-", $dateSQLFP);
$dateFRFP = $jour.'/'.$mois.'/'.$annee;
?>
Une fois que j'ai ca je fait remonter les variables dans mes textbox.
<td><input type="text" name="date_debutperiode" value="<?php echo $dateFRDP; ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Date de Fin:</td>
<td><input type="text" name="date_finperiode" value="<?php echo $dateFRFP; ?>" size="32"></td>
</tr>
ETAPE 2 : L'utilisateur va changer la date en respectant le format JJ/MM/AAAA et mon souci ce trouve ici, comment effectuer la transformation inverse et que cela s'intégre lors de la validation du formulaire ???
J'arrive à faire la manip inverse sans souci passé de la date FR à ISO dont voici le code :
// Transformation de la date FR en ISO pour Debut période
$date2FRDP = $_POST['date_debutperiode'];
list($jour2, $mois2, $annee2) = explode("/", $date2FRDP);
$dateSQL2DP = $annee2.'-'.$mois2.'-'.$jour2;
// Transformation de la date FR en ISO pour Fin période
$date2FRFP = $_POST['date_finperiode'];
list($jour2, $mois2, $annee2) = explode("/", $date2FRFP);
$dateSQL2FP = $annee2.'-'.$mois2.'-'.$jour2;
//FIN
Mais comment l'insérer avec ? Par le POST ?
Voila je need un petit coup de pouce à ce sujet et merci d'avance
Bonjour à tous.
Dans la série les petits problémes d'Arkilon, aujourd'hui je m'attaque aux dates !
[u]Principe :[/u]
J'ai un petit formulaire qui me permet de saisir une date de début de période et une date de fin de période.
Tout ceci lié à une petite table SQL qui reprend ces 2 Champs date_debutperiode et date_finperiode déclaré avec le type DATE, format 0000-00-00 (ISO).
[u]But :[/u]
Je me suis servi de la faq "Quelques petites manipulations avec les dates (PHP/MySQL)"
[b]ETAPE 1:[/b] Les 2 champs textes (date_debutperiode et date_finperiode) doivent me remonter la date déjà saisie et me la convertir au format FR, là pas de souci voici le code :
[php]
<?php
// Transformation de la date ISO en FR pour Debut période
$dateSQLDP = $row_majperiode['date_debutperiode'];
list($annee, $mois, $jour) = explode("-", $dateSQLDP);
$dateFRDP = $jour.'/'.$mois.'/'.$annee;
// Transformation de la date ISO en FR pour Fin Période
$dateSQLFP = $row_majperiode['date_finperiode'];
list($annee, $mois, $jour) = explode("-", $dateSQLFP);
$dateFRFP = $jour.'/'.$mois.'/'.$annee;
?>
[/php]
Une fois que j'ai ca je fait remonter les variables dans mes textbox.
[php] <td><input type="text" name="date_debutperiode" value="<?php echo $dateFRDP; ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Date de Fin:</td>
<td><input type="text" name="date_finperiode" value="<?php echo $dateFRFP; ?>" size="32"></td>
</tr>
[/php]
[b]ETAPE 2 :[/b] L'utilisateur va changer la date en respectant le format JJ/MM/AAAA et mon souci ce trouve ici, comment effectuer la transformation inverse et que cela s'intégre lors de la validation du formulaire ???
J'arrive à faire la manip inverse sans souci passé de la date FR à ISO dont voici le code :
[php]
// Transformation de la date FR en ISO pour Debut période
$date2FRDP = $_POST['date_debutperiode'];
list($jour2, $mois2, $annee2) = explode("/", $date2FRDP);
$dateSQL2DP = $annee2.'-'.$mois2.'-'.$jour2;
// Transformation de la date FR en ISO pour Fin période
$date2FRFP = $_POST['date_finperiode'];
list($jour2, $mois2, $annee2) = explode("/", $date2FRFP);
$dateSQL2FP = $annee2.'-'.$mois2.'-'.$jour2;
//FIN
[/php]
Mais comment l'insérer avec ? Par le POST ?
Voila je need un petit coup de pouce à ce sujet et merci d'avance