date...

Eléphant du PHP | 90 Messages

30 janv. 2006, 14:51

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 ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 janv. 2006, 15:02

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", ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 71 Messages

31 janv. 2006, 09:41

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"; 

}
?>

Mammouth du PHP | 768 Messages

31 janv. 2006, 17:38

J'ai écrit un petit article sur mon blog il y a quelques temps.

http://mario.monsiteinfo.info/index.php ... t-strftime
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Mammouth du PHP | 19672 Messages

31 janv. 2006, 20:52

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;
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 71 Messages

01 févr. 2006, 09:29

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.

Mammouth du PHP | 19672 Messages

01 févr. 2006, 09:39

Quel message d'erreur obtiens-tu ? J'ai fait ça rapidement, j'ai pu oublier un détail :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 71 Messages

01 févr. 2006, 09:45

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

Mammouth du PHP | 19672 Messages

01 févr. 2006, 10:53

ça ne m'avance pas des masses : à quelles lignes correspondent 44 et 47 ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 71 Messages

01 févr. 2006, 10:56

varialbe de session :

session_start()
session_login = $POST['login'];
..
..
..
.

Mammouth du PHP | 19672 Messages

01 févr. 2006, 10:59

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 71 Messages

01 févr. 2006, 12:03

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à

Eléphant du PHP | 71 Messages

01 févr. 2006, 12:06

Bon déjà dans ta fonction c'est pas Ferbuary mais February !
Mais cela ne resoud pas le problème pour autant !

Eléphant du PHP | 71 Messages

01 févr. 2006, 12:11

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 !

Eléphant du PHP | 71 Messages

01 févr. 2006, 12:13

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; 
} 
?>