Bonjour,
j'ai mis un module de news sur mon site, mais je rencontre un problème: Lorsque je rajoute une news la date affichée est le 31/12/1969 à 19h00.
Après plusieurs manipulations, j'ai toujours pas réussi à résoudre le problème. Je me tourne donc vers vous pour avoir une aide.
Je vous transmet mon fichier news.html:
<?php
mysql_connect("", "", "" ); //On se connecte à Mysql
mysql_select_db("" );// on selectionne la base
// le nombre de news (3) qu'on veut afficher dans une page
$MessagesPerPage = 3;
// On récupère le nombre total de messages
$return = mysql_query('SELECT COUNT(*) AS nb_messages FROM news');
$data = mysql_fetch_array($return);
$Messages = $data['nb_messages'];
// On calcule le nombre de pages à créer
$Pages = ceil($Messages / $MessagesPerPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $Pages ; $i++)
{
echo '<a href="news.php?page=' . $i . '">' . $i . '</a> ';
}
// On récupère les 3 dernières news
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse ( exemple news.php?page=4)
}
else // si non la variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On affiche la page 1, la page par defaut
}
$firstmessage = ($page - 1) * $MessagesPerPage;
$result = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT ' . $firstmessage . ', ' . $MessagesPerPage);
while ($data = mysql_fetch_array($result))
{
?>
<h2>
<?php echo stripslashes($data['titre']); //on recupère titre ?>
</h2>
<em> Ajouté le <?php echo date('d/m/Y à H\hi', $data['date']); //on recupère la date ?></em> <BR>
<?php
$url = $data['url'];
// s'il n'y a l'url de l'image, on affiche le contenu
if (empty($url))
{
$contenu = nl2br(stripslashes($data['contenu']));
echo $contenu;
}
else// sinon on affiche l'image puis le contenu
{
?>
<img alt="image de news" src="<?php echo $url ?>"/>
<?php
$contenu = nl2br(stripslashes($data['contenu']));
echo $contenu;
}
//Nous affichons le lien nous dirigeant vers les commentaires
?>
<br/><em><a href="commentaires.html?news=<?php echo $data['id']; ?>">Commentaires</a></em>
<?php
} // Fin de la boucle des news
?>
Voici mon fichier ajout_news.html:
<?php
mysql_connect("", "", "" ); //On se connecte à Mysql
mysql_select_db("" );// on selectionne la base
if (isset($_POST['titre']) && isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
$url = addslashes($_POST['url']);
//on verifie si le champ titre et le champ contenu ne sont pas vides
if ($_POST['titre'] != NULL && $_POST['contenu'] != NULL )
{
//on balance tous dans la table
mysql_query ("insert into news values
('', '". $titre ."','". $contenu ."', '" .$url."', '" .time()."')" );
//on confirme l'envoie des données
echo"news ajouté.";
}
else// sinon on affiche un message d'erreur
{
echo"verifiez si le titre et le contenu ont été saisis.";
}
}
mysql_close();// on ferme la connexion
?>
<form method="post" action="add_news.html">
Titre du news : <input name="titre"/><br/>
contenu :<br/>
<textarea name="contenu" rows="10" cols="45"> </textarea> <br/>
url de l'image : <input name="url"/><br/>
<input type="submit" value="Envoyer"/>
</form>
Dans mon table, j'ai un champ date de type datetime. Par contre dans mon bdd, la date affiché c'est 0000-00-00 00:00:00
Voila, est-ce que vous pourriez m'aider à corriger cette problème?
Merci par avance,
Message édité par david214 le 12-03-2013 à 22:13:38