Page 1 sur 2
date...
Posté : 30 janv. 2006, 14:51
par epilogg
salut tout le monde, j'ai bien regardé les tutoriaux sur les dates mais quelques problèmes persistent... j'arrive bien à afficher la date dans ce format JJ-MM-AAAA mais je voudrais que ce soit dans ce format Lundi 31 janvier, ca fait un bout de temps que je cherche mais j'ai pas moyen, aujourd'hui j'en suis la :
$date=$_GET['page'];
$requete="SELECT heure,type,prix FROM agenda WHERE date = '$date'";
$var = mysql_query($requete) or die;
$date1 = "$date";
$annee = substr($date1, 0, 4);
$mois = substr($date1, 5, 2);
$jour = substr($date1, 8, 2);
echo $jour . '-' . $mois . '-' . $annee;
je peux y remédier en modifiant ce code vous pensez ?
Posté : 30 janv. 2006, 15:02
par zeus
En utilisant la fonction
date et en créant des tables de correspondances FR/En, tu devrais y arriver
exemples tables de correspondances
$jour = array("monday" => "lundi", ...
Posté : 31 janv. 2006, 09:41
par lecobra_20
Tiens voici je que j'avais fait pour moi, c'est un exemple il existe d'autre moyen.
C'est une fonction qui permet d'avoir la date au format que tu désires et l'heure aussi.
function date_heure(){
$jour_semaine = date("l");
$jour_mois = date("j");
$mois = date("m");
$annees = date("Y");
// Traduction des jours dans la langue francaise
if($jour_semaine = "Monday"){
$jour_semaine = "Lundi";
}
elseif($jour_semine = "Tuesday"){
$jour_semaine = "Mardi";
}
elseif($jour_semaine = "Wednesday"){
$jour_semaine = "Mercredi";
}
elseif($jour_semaine = "Thursday"){
$jour_semaine = "Jeudi";
}
elseif($jour_semaine = "Friday"){
$jour_semaine = "Vendredi";
}
elseif($jour_semaine = "Saturday"){
$jour_semaine = "Samedi";
}
elseif($jour_semaine = "Sunday"){
$jour_semaine = "Dimanche";
}
// Traduction des mois dans la langue francaise
if($mois = "January"){
$mois = "Janvier";
}
elseif($mois = "February"){
$mois = "Février";
}
elseif($mois = "March"){
$mois = "Mars";
}
elseif($mois = "April"){
$mois = "Avril";
}
elseif($mois = "May"){
$mois = "Mai";
}
elseif($mois = "June"){
$mois = "Juin";
}
elseif($mois = "July"){
$mois = "Juillet";
}
elseif($mois = "August"){
$mois = "Août";
}
elseif($mois = "September"){
$mois = "Septembre";
}
elseif($mois = "October"){
$mois = "Octobre";
}
elseif($mois = "November"){
$mois = "Novembre";
}
elseif($mois = "December"){
$mois = "Decembre";
}
// Regroupement de l'ensemble des variables pour former la date
$date = $jour_semaine." ".$jour_mois." ".$mois." ".$annees;
// Gestion de l'heure
$heure = date("H");
$minutes = date("i");
$secondes = date("s");
// Regroupement de l'ensemble des variables pour former l'heure
$heure = $heure.":".$minutes.":".$secondes;
// On affiche le tout
echo "$date, il est $heure";
}
?>
Posté : 31 janv. 2006, 17:38
par mario
J'ai écrit un petit article sur mon blog il y a quelques temps.
http://mario.monsiteinfo.info/index.php ... t-strftime
Posté : 31 janv. 2006, 20:52
par Cyrano
Proposition de simplification du script proposé :
<?php
function date_heure()
{
$jour_semaine = date("l");
$jour_mois = date("j");
$mois = date("m");
$annees = date("Y");
// Traduction des jours dans la langue francaise
$js = "";
switch($jour_semaine)
{
case "Monday" : $js = "Lundi"; break;
case "Tuesday" : $js = "Mardi"; break;
case "Wednesday" : $js = "Mercredi"; break;
case "Thursday" : $js = "Jeudi"; break;
case "Friday" : $js = "Vendredi"; break;
case "Saturday" : $js = "Samedi"; break;
case "Sunday" : $js = "Dimanche"; break;
}
$jour_semaine = $js;
// Traduction des mois dans la langue francaise
$ms = "";
switch($mois)
{
case "January" : $ms = "Janvier"; break;
case "Ferbuary" : $ms = "Février"; break;
case "March" : $ms = "Mars"; break;
case "April" : $ms = "Avril"; break;
case "May" : $ms = "Mai"; break;
case "June" : $ms = "Juin"; break;
case "July" : $ms = "Juillet"; break;
case "August" : $ms = "Août"; break;
case "September" : $ms = "Septembre"; break;
case "October" : $ms = "Octobre"; break;
case "November" : $ms = "Novembre"; break;
case "December" : $ms = "Décembre"; break;
}
$mois = $ms;
// Regroupement de l'ensemble des variables pour former la date
$date = $jour_semaine." ".$jour_mois." ".$mois." ".$annees;
// Gestion de l'heure
$heure = date("H");
$minutes = date("i");
$secondes = date("s");
// Regroupement de l'ensemble des variables pour former l'heure
$heure = $heure.":".$minutes.":".$secondes;
// On affiche le tout
echo $date .", il est ". $heure;
}
?>
Posté : 01 févr. 2006, 09:29
par lecobra_20
Salut j'ai testé ta version avec le switch, sosu easyphp1.8, cela ne fonctionne pas très bien. Est-ce normal ? Tant dis quema version fonctionne sans erreur.
Posté : 01 févr. 2006, 09:39
par Cyrano
Quel message d'erreur obtiens-tu ? J'ai fait ça rapidement, j'ai pu oublier un détail

Posté : 01 févr. 2006, 09:45
par lecobra_20
Alors dasn un premier temps : Lorsque j'active pas la session, il n'affiche que le jour, date, années mais pas le mois.
Ensuite lorsque je me logue il affiche les messages suivant :
Code : Tout sélectionner
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\scripts\logiciel\fichier_configuration\fonction.php:56) in c:\scripts\logiciel\index.php on line 44
Warning: Cannot modify header information - headers already sent by (output started at c:\scripts\logiciel\fichier_configuration\fonction.php:56) in c:\scripts\logiciel\index.php on line 47
Posté : 01 févr. 2006, 10:53
par Cyrano
ça ne m'avance pas des masses : à quelles lignes correspondent 44 et 47 ?
Posté : 01 févr. 2006, 10:56
par lecobra_20
varialbe de session :
session_start()
session_login = $POST['login'];
..
..
..
.
Posté : 01 févr. 2006, 10:59
par Cyrano
lecobra_20, il y a des choses qu'il serait bon que tu réalises : la technique "boule de cristal" est devenue obsolète et chez moi ne fonctionne plus du tout. Dans le code exemple que j'ai mis, ces liges sont absentes. Dans le code motré plus haut également.
Alors comment veux-tu qu'on sache à quel code tu fais référence.
Ce message d'erreur indique que tu mets un session_start() après avoir envoyé des données vers le navigateur, par exemple avec un echo(); : le plantage dans ce cas est normal et automatique.
Posté : 01 févr. 2006, 12:03
par lecobra_20
Bon ok c'es bon j'ai vu pkoi il me mettais cette erreur.
La seule chose qui fonctionne pas dans ta fonction c'est qu'il renvoi la date comme ceci :
Mercredi 1 2006 au lieu de Mercredi 1 février 2006.
Voilà
Posté : 01 févr. 2006, 12:06
par lecobra_20
Bon déjà dans ta fonction c'est pas Ferbuary mais February !
Mais cela ne resoud pas le problème pour autant !
Posté : 01 févr. 2006, 12:11
par lecobra_20
Bon je vois ou sa cloche c'est parceque $mois = date('m') renvois 02 non
February !
Mais c'est bizaard car moi dasn ma focntion j'ai utiliser aussi cela et ca fonctionne !
Posté : 01 févr. 2006, 12:13
par lecobra_20
Voilà :
<?php
function date_heure()
{
$jour_semaine = date("l");
$jour_mois = date("j");
$mois = date("m");
$annees = date("Y");
// Traduction des jours dans la langue francaise
$js = "";
switch($jour_semaine)
{
case "Monday" : $js = "Lundi"; break;
case "Tuesday" : $js = "Mardi"; break;
case "Wednesday" : $js = "Mercredi"; break;
case "Thursday" : $js = "Jeudi"; break;
case "Friday" : $js = "Vendredi"; break;
case "Saturday" : $js = "Samedi"; break;
case "Sunday" : $js = "Dimanche"; break;
}
$jour_semaine = $js;
// Traduction des mois dans la langue francaise
$ms = "";
switch($mois)
{
case "01" : $ms = "Janvier"; break;
case "02" : $ms = "Février"; break;
case "03" : $ms = "Mars"; break;
case "04" : $ms = "Avril"; break;
case "05" : $ms = "Mai"; break;
case "06" : $ms = "Juin"; break;
case "07" : $ms = "Juillet"; break;
case "08" : $ms = "Août"; break;
case "09" : $ms = "Septembre"; break;
case "10" : $ms = "Octobre"; break;
case "11" : $ms = "Novembre"; break;
case "12" : $ms = "Décembre"; break;
}
$mois = $ms;
// Regroupement de l'ensemble des variables pour former la date
$date = $jour_semaine." ".$jour_mois." ".$mois." ".$annees;
// Gestion de l'heure
$heure = date("H");
$minutes = date("i");
$secondes = date("s");
// Regroupement de l'ensemble des variables pour former l'heure
$heure = $heure.":".$minutes.":".$secondes;
// On affiche le tout
echo $date .", il est ". $heure;
}
?>