Utilisation date + heure ( probléme avec l'heure )

Eléphant du PHP | 388 Messages

10 mars 2010, 20:27

bonjour a tous dans ma table j'ai rajouter un champs date et heure.
dans mon code php j'ai fait cela :
$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,time,departement,region) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d")."','time:auto NOW()','$departement','$region')";
La date s'enregistre bien cependant l'heure reste a 00:00:00 je pence que j'ai un problème a ce niveau
'time:auto NOW()'
.

vous aller me dire pourquoi ne pas utiliser directement DATETIME , tous simplement pour bien séparer la date et l'heure :D
Merci pour votre aide :|

Eléphanteau du PHP | 31 Messages

10 mars 2010, 20:47

Bonjour,

As tu vraiment besoin de séparer la date et l'heure ?

Si ce n'est pas le cas, tu peux utiliser un type 'DATETIME' et insérer la valeur NOW().

Eléphant du PHP | 388 Messages

10 mars 2010, 20:51

en fait pour mon affichage par la suite via CSS je souhaiterai disposer la date en haut et l'heure en bas

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

10 mars 2010, 20:57

Bonjour,
en fait pour mon affichage par la suite via CSS je souhaiterai disposer la date en haut et l'heure en bas
Il suffit de faire un explode sur le caractère espace sur ton DATETIME et tu récupéreras 2 variables à mettre où tu veux dans ta page... :)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 388 Messages

10 mars 2010, 21:05

Je viens de changer par DATETIME

et j'ai placé cela dans mon PHP
'".date("Y-m-d,$now")."'
Mais l'heure n'apparait pas surement le now qui pose problème.

Eléphanteau du PHP | 31 Messages

10 mars 2010, 21:09

Si tu veux définir la valeur en php tu dois utiliser ça :

Code : Tout sélectionner

date('Y-m-d H:i:s') 
Sinon tu peux simplement utiliser la fonction sql NOW()
INSERT INTO matable (id, champ_date) VALUES(1,NOW());

Eléphant du PHP | 388 Messages

10 mars 2010, 21:12

cela marche nickel je te remercie

Eléphant du PHP | 388 Messages

10 mars 2010, 22:14

Mais j'ai fait un teste pour voir sur ma page qui affiche mes donnée de ma table
cela me renvoie pour le champs date 0000-00-00 00:00:00

voici ma comande PHP de mon tableau
<td class="date"><?php echo $data ['date']; ?></th>

Eléphanteau du PHP | 31 Messages

10 mars 2010, 22:43

Si tu reçoit cette valeur c'est certainement parce que la valeur dans la table est 0000-00-00 00:00:00

Est-ce que l'enregistrement dans la table contient bien cette valeur ? Si oui soit c'est un enregistrement avant que tu fasses la modification, soit l'insertion ne fonctionne pas. Est-ce que tous les enregistrements contiennent cette valeur ou seulement certains ? Est-ce que, quand tu insère une nouvelle valeur via ton script, le champ date vaut 0000-00-00 00:00:00 ?

ViPHP
ViPHP | 1996 Messages

11 mars 2010, 20:20

Mais j'ai fait un teste pour voir sur ma page qui affiche mes donnée de ma table
cela me renvoie pour le champs date 0000-00-00 00:00:00

voici ma comande PHP de mon tableau
<td class="date"><?php echo $data ['date']; ?></th>
C'est ton dernier enregistrement qui donne cette date ?
Que donne un :
<?php
$requete = "SELECT date, time from annonces order by date desc";
$resultat_sql = mysql_query($requete);
while ($resultat = mysql_fetch_row($resultat_sql)
{
   echo "date : ".$resultat[0]." - time : ".$resultat[1]."<br />";
}
?>
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr