Bonjour

En premier, voici mon code :

<?php
mysql_connect(" *****.alwaysdata.com","****"," *****");
mysql_select_db("actujv_database");
?>
<html>
    <head>
        <title>Toute l'actualité des jeux vidéo - ActuJV</title>
    </head>
<body>
<?php
$sql = "SELECT * FROM news";
$reg = mysql_query($sql);
while($data = mysql_fetch_assoc($reg))
{
?>
<?php
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
?>

    <h1>Titre : <?php echo $data'titre']; ?></h1>
    <p>Date : <?php echo $data'date']; ?></p>
    <?php echo $data'contenu']; ?>
<?php
}
?>
    </body>
</html>

Donc mon problème, c'est que dans ma base de donnée, j'ai enregistré la date où j'ai écris l'article.
Le problème c'est que je connais la fonction data("Y/..", $data'date']); mais c'est en anglais et pas en complet.

J'ai créé un tableau mais je sais pas comment faire pour l'afficher à la place de la date chelou.

5 réponses


Bonjour, t'as sauvegardé comment en base ? un timestamp ? un DateTime ?
La fonction data_truc n'existes pas, en revanche date() oui c'est dans la documentation officielle

Perclure
Auteur

Oui, c'est un TIMESTAMP.

Je suppose que tu cherches quelque chose comme ça non ?
Tu lui passe la date en PHP.

function date_fr($date, $full = true) {
        if($full) {
            $texte_en = array(
                "Monday", "Tuesday", "Wednesday", "Thursday",
                "Friday", "Saturday", "Sunday", "January",
                "February", "March", "April", "May",
                "June", "July", "August", "September",
                "October", "November", "December"
            );
            $texte_fr = array(
                "Lundi", "Mardi", "Mercredi", "Jeudi",
                "Vendredi", "Samedi", "Dimanche", "Janvier",
                "Février", "Mars", "Avril", "Mai",
                "Juin", "Juillet", "Août", "Septembre",
                "Octobre", "Novembre", "Décembre"
            );
            $date_fr = str_replace($texte_en, $texte_fr, $date);
        } else {
            $texte_en = array(
                "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun",
                "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
                "Aug", "Sep", "Oct", "Nov", "Dec"
            );
            $texte_fr = array(
                "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim",
                "Jan", "Fév", "Mar", "Avr", "Mai", "Jui",
                "Jui", "Aoû", "Sep", "Oct", "Nov", "Déc"
            );
            $date_fr = str_replace($texte_en, $texte_fr, $date);
        }
        return $date_fr;
    }

Bonjour,
Tu peux utiliser cette fonction / strftime en définissant setlocale dans la langue souhaité.
exemple:

<?php
setlocale(LC_TIME, 'fra_fra');
echo ucfirst(strftime('%A', time())); // Vendredi
?>

Si tu veux récupérer une date en anglais dans une base de données et l'afficher en français, il suffit d'utiliser la fonction DATE_FORMAT de MySQL ou la fonction date() de PHP.