Ajotuer une date en PHP dans la base MySQL...

  • Créateur du sujet Créateur du sujet @ybee
  • Date de début Date de début

@ybee

Membre expert
Club iGen
18 Mai 2001
1 039
14
43
Embourg, Belgique
antoine.olbrechts.eu
Hello !

Voici mon petit "problème"...

Je viens de créer un petit système de news en PHP pour un site dont je m'occupe, mais j'arrive pas à faire un truc...
J'ai un formulaire avec, entres autres, un champ jour, un champ mois et un champ année...
Le script PHP qui gère l'envoi du formulaire, j'aimerais qu'il ordonne ces infos et les enregistre sous la forme AAAA-MM-JJ (format américain de la date), parce que le champ idoine que j'ai créé dans la base MySQL est de format 'date' ...
Je n'arrive pas à gérer les tirets entre les 3 champs pour les envoyer vers la requete :

Bloc de code:
$req = "INSERT INTO news (id, date, text, link) VALUES ('', '$date', '$text', '$link')";

Comment formater le $date, sachant que bien sûr
Bloc de code:
$date = $_POST['year']-$_POST['month']-$_POST['day'];
n'est pas correct
laugh.gif
 
Peut-être ça ?

Bloc de code:
$date = $_POST['year'] . '-' . $_POST['month'] . '-' . $_POST['day'];
 
Je m'embrouille quelque peu (comme d'hab quoi
laugh.gif
:D):

<font class="small">Code:</font><hr /><pre>$date = $_POST['year'] . '-' . $_POST['month'] . '-' . $_POST['day'];
$text = $_POST['text'];
$link = $_POST['link'];

// Entry verification

if(empty($day) OR empty($month) OR empty($year) OR empty($text))
{
print( "&lt;center&gt;Tous les champs obligatoires n'ont pas été remplis !&lt;br&gt;Veuillez corriger...&lt;br&gt;&lt;br&gt;&lt;a href='javascript:history.back(1)'&gt;Retour&lt;/a&gt;&lt;/center&gt;" );
exit();
}

// REQ

$req = "INSERT INTO news (id, date, text, link) VALUES ('', '$date', '$text', '$link')";
$resultat = mysql_query($req);
if (mysql_errno())
{
die("&lt;br&gt;" . mysql_errno().": ".mysql_error()."&lt;br&gt;");
}
else
{
echo 'Ajout réussi !';
echo '&lt;meta http-equiv="refresh" content="1;url=index.php"&gt;';
}</pre><hr />
 
Et ça marche ?!
confused.gif
 
Je comprends pas pk tu mets des champs pour le jour le mois etc?
TU pourrais laisser PHP prendre tout seul la date en timestamp? :mouais:
Sinon pour le format Date, tu es sur qu'il faut les tirets entre, et si tu laisse sous forme
Bloc de code:
$_POST['year'].$_POST['month'].$_POST['day']
ca marche pas ?
 
De fait, hier soir je me suis rendu compte que c'était débile, et il prend la date tout seul et l'inteprète... De plus, j'avais pas besoin d'avoir un champ de date au format "date" de MySQL puisque je n'allais pas trier les news par date mais par 'id' (autoincrement que j'ai fait) puisque le but c'est de n'afficher que la dernière, et donc faire une requete avec tri par id et limit 1 ...

Bref, j'y suis arrivé :D
Merci à ceux qui m'ont aidés :D

J'ai pas encore ajouté la fonction au site en lui même, donc ce n'est pas encore visible, mais c'est pour la homepage de www.handcraftband.net