par
ouckileou » 14 août 2006, 14:12
je devie legement pk tu utiliste un truc date en mysql alors que tu peux utilisser et c plus simple le timestamp...
Pas forcément, chaque type à ses particularités et fonctionne différement. Une date est plus facile à manipuler si on veut juste l'afficher par exemple, et il y a des fonctions de calcul.
gandalf25:
Pour récupérer un entier, tu peux faire ceci. Plutôt que de mettre une cellule vide en début de ton tableau de mois, fais le commencer à zéro. Tu devra s donc enlever 1 au numéro de mois récupéré, ce qui convertira la chaine en entier.
$mois = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin',
'Juillet','Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$numMois = "04";
echo $numMois;
echo '<br />';
echo $mois[$numMois-1];
Sinon, si tu veux faire démarrer un tableau à 1 et non 0, plutôt que de mettre une valeur vide, tu peux préciser l'indice de départ :
<?php
$mois = array(1 => 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin',
'Juillet','Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$numMois = "04";
$numMois = sprintf("%d", $numMois); // conversion en entier
echo $mois[$numMois];
?>
Regarde la doc sur la fonction sprintf() pour plus de détails
Edit : je maintiens que le choix entre un type DATE et TIMESTAMP n'a rien à voir avec le problème, c'ets suivant ce qu'on veut en faire. Une colonne TIMESTAMP sera par exemple automatiquement mise à jour lors d'une requête UPDATE.
De plus, pour récupérer une date au format "affichable" (jj/mm/aaa) il faudra bien manipuler le timestamp, donc des opérations en plus. Et la même manipulation pour obtenir le nom du mois en français, qui n'est pas disponible directement.
Je ne vois donc pas ce que ça apporte pour ce problème précis

[quote="thehawk"]je devie legement pk tu utiliste un truc date en mysql alors que tu peux utilisser et c plus simple le timestamp...[/quote]
Pas forcément, chaque type à ses particularités et fonctionne différement. Une date est plus facile à manipuler si on veut juste l'afficher par exemple, et il y a des fonctions de calcul.
gandalf25:
Pour récupérer un entier, tu peux faire ceci. Plutôt que de mettre une cellule vide en début de ton tableau de mois, fais le commencer à zéro. Tu devra s donc enlever 1 au numéro de mois récupéré, ce qui convertira la chaine en entier.
[php]
$mois = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin',
'Juillet','Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$numMois = "04";
echo $numMois;
echo '<br />';
echo $mois[$numMois-1];
[/php]
Sinon, si tu veux faire démarrer un tableau à 1 et non 0, plutôt que de mettre une valeur vide, tu peux préciser l'indice de départ :
[php]
<?php
$mois = array(1 => 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin',
'Juillet','Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$numMois = "04";
$numMois = sprintf("%d", $numMois); // conversion en entier
echo $mois[$numMois];
?>[/php]
Regarde la doc sur la fonction sprintf() pour plus de détails
Edit : je maintiens que le choix entre un type DATE et TIMESTAMP n'a rien à voir avec le problème, c'ets suivant ce qu'on veut en faire. Une colonne TIMESTAMP sera par exemple automatiquement mise à jour lors d'une requête UPDATE.
De plus, pour récupérer une date au format "affichable" (jj/mm/aaa) il faudra bien manipuler le timestamp, donc des opérations en plus. Et la même manipulation pour obtenir le nom du mois en français, qui n'est pas disponible directement.
Je ne vois donc pas ce que ça apporte pour ce problème précis :)