Timestamp php/mysql

Timestamp php/mysql - PHP - Programmation

Marsh Posté le 02-04-2007 à 18:55:00    

Me suis un peu renseigné sur ces machins de timestamp, mais je n'ai toujours pas compris comment passer de l'un à l'autre;
 
J'ai une variable $date qui contient un TIMESTAMP mysql du type 2007-04-02 18:30:00.
Sauf que pour utiliser la fonction date() il me faut un timestamp php... si je met date(formatage, $date) j'ai un truc foireux...
 
C'est quoi le truc qui permet de sortir de ce probleme ?

Reply

Marsh Posté le 02-04-2007 à 18:55:00   

Reply

Marsh Posté le 02-04-2007 à 19:26:44    

Je doute qu'un champ timestamp ait une valeur genre 2007-04-02 18:30:00... tu dois parler d'un datetime ?


Message édité par sielfried le 02-04-2007 à 19:26:52

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 02-04-2007 à 20:00:56    

J'ai lu que sur certaines BDD MySQL , DATETIME et TIMESTAMP étaient identiques.
Mais peu importe, je fais comment ?

Reply

Marsh Posté le 02-04-2007 à 20:40:12    

Reply

Marsh Posté le 03-04-2007 à 19:20:23    

Je galère franchement à manipuler MySQL...
Apparemment c'est bien cette fonction qu'il me faut.
 
Mais j'arrive pas à trouver la requete SQL correcte pour ce que je veux.
C'est à dire :
Recupérer une date au format AAAA-MM-JJ HH:mm:ss dans ma base SQL (table "blog", champ "date" )
L'insérer dans une variable($date) dans un while :
 

Code :
  1. $request="SELECT titre, contenu, auteur, image FROM `blog` ORDER BY `id` DESC";
  2. if($result = mysql_query($request,$connect))
  3.   {
  4.     while($blog = mysql_fetch_array($result))
  5.      {
  6.        $titre = $blog['titre'];
  7.        $contenu = $blog['contenu'];
  8.        $auteur = $blog['auteur'];
  9.        $imageurl = $blog['image'];
  10.              
  11.        echo "
  12.         <div class=blogbord2>
  13.         <div class=blogbord1>
  14.         <div class=article>
  15.         <h4>$titre</h4>
  16.         <p class=date>Article posté le $date<br> Auteur : $auteur </p>";
  17.         if ($imageurl != "" ) {
  18.         echo "    <img src=$imageurl border=0>";
  19.         }
  20.         else {}
  21.         echo"
  22.         <p class=contenuarticle> $contenu </p>
  23.         </div>
  24.         </div>
  25.         </div>";
  26.      }
  27.   }
  28. else   {    echo "raté";  }


Message édité par kwaio le 03-04-2007 à 19:33:57
Reply

Marsh Posté le 03-04-2007 à 19:56:04    

résolu :
 

Code :
  1. SELECT titre, contenu, auteur, image, DATE_FORMAT( date, '%a %d %b %T' ) as date
  2. FROM `blog`
  3. ORDER BY `id` DESC
  4. LIMIT 0 , 30


 
Ai trouvé tout seul
*content*

Reply

Marsh Posté le 10-03-2010 à 12:20:41    

merci


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 10-03-2010 à 17:57:01    

en php, quand t'as un champ mysql de type DATETIME, tu fais :
date("Chaine de formatage voulu", strtotime("Ton Champ de la BD" ));


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-03-2010 à 09:22:20    

le plus "emmerdant" pour moi, c'est entrer en php dans ma base mysql cette foutue date.
J'insert un truc moisi je trouve , un truc genre $an."-".$mois."-".$jour." "...
Ca marche, mais alors c'est pas beau comme méthode je trouve  :sweat:


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 11-03-2010 à 09:36:25    

bah tu fais une fonction de conversion qui transforme une date au format FR en format EN. Et si c'est juste pour convertir une date heure (genre "2007-04-02 18:30:00" ) en date, tu fais :  
date("Y-m-d", strtotime("2007-04-02 18:30:00" ));
 
strtotime() permet de faire des calculs de date assez puissants (genre quelle était la date du 1er lundi du mois dernier, la date dans 2 semaines...). Et date() permet de faire pleins de changements de formats.

Message cité 1 fois
Message édité par rufo le 11-03-2010 à 09:36:40

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-03-2010 à 09:36:25   

Reply

Marsh Posté le 11-03-2010 à 10:19:56    

rufo a écrit :

bah tu fais une fonction de conversion qui transforme une date au format FR en format EN. Et si c'est juste pour convertir une date heure (genre "2007-04-02 18:30:00" ) en date, tu fais :  
date("Y-m-d", strtotime("2007-04-02 18:30:00" ));
 
strtotime() permet de faire des calculs de date assez puissants (genre quelle était la date du 1er lundi du mois dernier, la date dans 2 semaines...). Et date() permet de faire pleins de changements de formats.


 
Heu, moi j'ai des variables issues d'un formulaire $jour $mois $annee
Et j'essaie d'inserer ca dans une base mysql dans un champ de type timestamp


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 11-03-2010 à 10:23:16    

Ca serait peut-être plus logique d'avoir un champ texte avec un calendrier à côté permettant de sélectionner une date. Au lieu d'avoir 3 champs (listes déroulantes j'imagine) à remplir, y'en a plus qu'un ;) Pour obliger l'utilisateur à bien passer par le calendrier, tu mets le champs en readonly.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-03-2010 à 10:29:28    

rufo a écrit :

Ca serait peut-être plus logique d'avoir un champ texte avec un calendrier à côté permettant de sélectionner une date. Au lieu d'avoir 3 champs (listes déroulantes j'imagine) à remplir, y'en a plus qu'un ;) Pour obliger l'utilisateur à bien passer par le calendrier, tu mets le champs en readonly.


L'un n'empêche pas l'autre ! Tu peux avoir un calendrier qui met à jour (par un peu de code) 3 champs :o
Pis, pourquoi "obliger l'utilisateur à bien passer par le calendrier" ? Aucun intérêt, voir même, snul ! Si l'utilisateur veut saisir directement la date dans le champ, pourquoi l'en empêcher ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 11-03-2010 à 13:41:47    

rufo a écrit :

Ca serait peut-être plus logique d'avoir un champ texte avec un calendrier à côté permettant de sélectionner une date. Au lieu d'avoir 3 champs (listes déroulantes j'imagine) à remplir, y'en a plus qu'un ;) Pour obliger l'utilisateur à bien passer par le calendrier, tu mets le champs en readonly.


liste déroulantes, oui.
ca résouds pas mon problème de savoir comment insérer ce champs dans ma base.
 
Tiens vous savez inserer dans un champs de type timestamp la date du jour ? je pensais que "now()" était une fonction php, mais non :s


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 11-03-2010 à 13:49:26    

time() est ce que tu souhaites :)


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 11-03-2010 à 13:55:16    

NewsletTux a écrit :

time() est ce que tu souhaites :)


ah oué mais non, ca ca me fait un timestamp unix (ou php), pas un timestamp mysql :/


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 11-03-2010 à 14:00:56    

Bon, j'ai fais comme ca :
$maintenant=date("Y-m-d H:i:s",time());


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 11-03-2010 à 15:15:12    

ou tout simplement date("Y-m-d H:i:s" );


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-03-2010 à 15:33:43    

:jap:


---------------
Mon topic de vente - Mon feed-back
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed