Fonction date et BDD
Résolu
yrejk
Messages postés
12
Statut
Membre
-
yrejk Messages postés 12 Statut Membre -
yrejk Messages postés 12 Statut Membre -
Bonjour,
J'ai commencer le php hier, et suis entrain de travailler sur un livre d'or (code basé du site du zéro)...
J'aimerais enregistrer la date de chaque nouveau message.
J'ai donc creé un champ date de type DATETIME dans phpMyAdmin.
Le probleme c'est que je ne sais pas comment l'initialiser ni le récupéré...
J'avais mis :
Mais apres alors que j'arrive a récupéré le pseudo, le message.. Je suis perdu pour la date...
J'ai essayé de faire :
Je n'ai aucune idee :'(
Donc si quelqu'un pouvait m'aider ca serait cool.
Merci d'avance
J'ai commencer le php hier, et suis entrain de travailler sur un livre d'or (code basé du site du zéro)...
J'aimerais enregistrer la date de chaque nouveau message.
J'ai donc creé un champ date de type DATETIME dans phpMyAdmin.
Le probleme c'est que je ne sais pas comment l'initialiser ni le récupéré...
J'avais mis :
input type="hidden" name="date" value="<?php date("Y-m-d H:i:00");
Mais apres alors que j'arrive a récupéré le pseudo, le message.. Je suis perdu pour la date...
J'ai essayé de faire :
$datum = date('d/m/Y',$donnees['date']);
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit à '.$datum.' :<br />' . $donnees['message'] . '</p>';
Je n'ai aucune idee :'(
Donc si quelqu'un pouvait m'aider ca serait cool.
Merci d'avance
A voir également:
- Fonction date et BDD
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Jm date désabonnement ✓ - Forum Consommation & Internet
- Jm date avis - Forum Consommation & Internet
- Airpods 3 date de sortie - Guide
8 réponses
<form method="post" action="livreor.php">
<p align="center">Mon site vous plaît ? Laissez-moi un message !</p>
<p align="center">
Pseudo : <input name="pseudo" value="
<?php
if (isset($_POST['pseudo'])) {
echo $_POST['pseudo'];
}
?>
"/><br />
Message :<br />
<textarea name="message" rows="12" cols="135"></textarea><br />
<input type="submit" value="Envoyer" />
<input type="hidden" name="date" value="<?php date("Y-m-d H:i:00"); ?>" />
</p>
</form>
et pour recuperer :
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
Enfaite je ne vois pas trop ton problème pour récupérer une date c'est très simple.
$date = $_POST['date'];
il te manque un echo :
<input type="hidden" name="date" value="<?php echo date("Y-m-d H:i:00"); ?>" />
$date = $_POST['date'];
il te manque un echo :
<input type="hidden" name="date" value="<?php echo date("Y-m-d H:i:00"); ?>" />
bha mon probleme est qu'il m'affiche toujours la date 01/01/1970
Voici mon code complet :
Voici le code complet....
Car je ne trouve vraiment pas !
Voici mon code complet :
<html >
<head>
<title>Livre d'or</title>
</head>
<body>
<form method="post" action="livreor.php">
<p align="center">Mon site vous plaît ? Laissez-moi un message !</p>
<p align="center">
Pseudo : <input name="pseudo" value="
<?php
if (isset($_POST['pseudo'])) {
echo $_POST['pseudo'];
}
?>
"/><br />
Message :<br />
<textarea name="message" rows="12" cols="135"></textarea><br />
<input type="submit" value="Envoyer" />
<input type="hidden" name="date" value="<?php date("Y-m-d H:i:00"); ?>" />
</p>
</form>
<p class="pages" align="center">
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("livreor");
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
$date = $_POST['date'];
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '$pseudo', '$message ', '$date')");
}
// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 10; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
echo '</br> Il y a un total de ' .$totalDesMessages. ' messages dans le livre d\'or à ce jour...</br>'
?> </p> <?php
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
$datum = date('d/m/Y',$donnees['date']);
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit à '.$datum.' :<br />' . $donnees['message'] . '</p>';
}
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>
</body>
</html>
Voici le code complet....
Car je ne trouve vraiment pas !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai enfin compris ton problème
voici une fonction qui te retourne ta date au format français.
function reverseDate($date){ // conversion date us -> date fr
if($date !=""){
$split = split("-",$date); //on extrait en fonction du séparateur
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
return "$jour"."/"."$mois"."/"."$annee";// retourne un format JJ/MM/AAAA
}
}
exemple : echo reverseDate($donnees['date'])
voici une fonction qui te retourne ta date au format français.
function reverseDate($date){ // conversion date us -> date fr
if($date !=""){
$split = split("-",$date); //on extrait en fonction du séparateur
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
return "$jour"."/"."$mois"."/"."$annee";// retourne un format JJ/MM/AAAA
}
}
exemple : echo reverseDate($donnees['date'])
okok un tout grand merci !
ca a l'air d'aller...
Je vais essayer maintenant de comprendre la tite fonction !
Merci 1000x
Resolution :
Au faite il y a quand meme un petit probleme ... le split n'est pas bon car il y a aussi l'heure...
Le format de sortie est donc : d h:i / m / Y C'est plutot embetant...
ca a l'air d'aller...
Je vais essayer maintenant de comprendre la tite fonction !
Merci 1000x
Resolution :
function reverseDate($date){ // conversion date us -> date fr
if($date !=""){
$split = split("-",$date); //on extrait en fonction du séparateur
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
return "$jour"."/"."$mois"."/"."$annee";// retourne un format JJ/MM/AAAA
}
}
Au faite il y a quand meme un petit probleme ... le split n'est pas bon car il y a aussi l'heure...
Le format de sortie est donc : d h:i / m / Y C'est plutot embetant...
Voila commen j'ai finalement résolu le probleme... En me basant sur ca premiere function !
Ceci afin de résoudre le format DATETIME au lieu de DATE comme la première fonction...
Encore merci à DOUDI
function reverseDate($date){ // conversion date us -> date fr
if($date !=""){
$split = split("-",$date); //on extrait en fonction du séparateur
$annee = $split[0];
$mois = $split[1];
$jourTemp = $split[2];
$split2 = split(" ",$jourTemp);
$jour = $split2[0];
$heure = $split2[1];
return "$jour"."/"."$mois"."/"."$annee"." à "."$heure";// retourne un format JJ/MM/AAAA
}
}
}
Ceci afin de résoudre le format DATETIME au lieu de DATE comme la première fonction...
Encore merci à DOUDI