IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Enregistrement d'heure dans une base de données sous symfony


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2015
    Messages : 53
    Points : 53
    Points
    53
    Par défaut Enregistrement d'heure dans une base de données sous symfony
    bonjour je suis noviste sous symfony et je suis sur ma première application symfony qui porte sur le reporting c'est à dire l'enregistrement des tâches journalières par des techniciens d'une entreprise j'ai pu generer ma base de données et la table Rapport mais je parviens pas à enregistrer les informations dans ma base de données :
    au niveau de heureDebut et heureFin je veux enregistrer seulement l'heure mais symfony me propose me propose que du DateTime.


    voici mon code dans defaultController

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
      <?php
     
    namespace MyApp\DebutantProgBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\DependencyInjection\ContainerAware;
    use  Symfony\Component\HttpFoundation\RedirectResponse;
     use MyApp\DebutantProgBundle\Entity\rapport;
     
    class DefaultController extends ContainerAware
    {
        public function indexAction()
        {
    		$em= $this->container->get('doctrine')->getManager();
     
    		$rapport = new rapport();
     
            $rapport->setDate(new \DateTime('18/01/2016'));
     
    		$rapport->setDescription("administration du site omaes");
     
    		$rapport->setFacturation('sous contrat');
     
    		$rapport->setHeureDebut(new \DateTime('01-19-2016 09:30'));
     
     
    		$rapport->setHeureFin(new \DateTime('01-19-2016 10:00'));
     
    		$rapport->setConfirmationFiche('Oui');
     
    		$em->persist($rapport);
    		$em->flush();
    		$message='rapport enregistré avec succès super';
     
            return $this>container>get('templating')>renderResponse('MyAppDebutantProgBundle:Default:index.html.twig', array('message' => $message));
        }
    }
    veillez m'aidé s'il vous plait merci d'avance pour votre contribution

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    mais non aucun rapport avec Symfony.

    c'est du PHP donc tu peux utiliser PHP pour tes dates !

    attention: par défaut, la base de donnée mySql est au format américain.


    et si tu nous informais quelle erreur ça fait ????? c'et pas une bonne idée ça ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Tu peux preparer un attribut heure de type integer , tu insère la dedans l'entier heure extraite de Datetime
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            $now = new DateTime('NOW');
            $heure = intval($now->format('h'));

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    bonjour,

    Doctrine supporte les types "date", "time", "datetime",...
    http://doctrine-orm.readthedocs.org/...-mapping-types
    Quel que soit le type choisis, Il sera transformé coté php en objet DateTime (parce qu'il n'existe pas de classe "Date" et "Time").
    Cela ne veut pas dire que tu doivent utiliser toutes les valeurs de l'objet Datetime (pour un champ date, les valeurs heure, minutes ne sont pas significatives et inversement pour un champ time)

    Petite question sur ta modélisation:
    Une tache peut-elle commencer le 19/01/2015 à 23h45 et se terminer le 20/01/2015 à 00h15 ?
    Ne serait t'il pas préférable d'avoir 2 champs : datetimeDebut et datetimeFin ?

  5. #5
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2015
    Messages : 53
    Points : 53
    Points
    53
    Par défaut Arnooo999
    non en faite c'est sur des rapports journalier et donc ce sont des heures uniquement entre 8h et 17h et j'ai pu le faire grace à un document pour ce qui seront ineressé http://documentation-symfony.fr mais mon souci maintenant est comment effectuer le calcule entre l'heure de debut et l'heure de fin genre de 8h a 12 c'est 4h donc deprendre directement 4 heures dans d'autre tabl que j'ai nommée dureeTache

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Revenons encore une fois au manuel php, ici , l'operateur diff te permets de calculer une durée ..

    Bonne journée

  7. #7
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2015
    Messages : 53
    Points : 53
    Points
    53
    Par défaut merci beaucoup mehrezlabidimehrez
    merci beaucoup pour votre soutient merci à toute l'équipe et particulièrement à vous qui avez répondu et qui m'avez soutenu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrer un ArrayList dans une base de données
    Par ssk2510 dans le forum Collection et Stream
    Réponses: 17
    Dernier message: 13/05/2011, 16h01
  2. [SQL-Server] Modification de l'heure dans une base de donnée
    Par dekker dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/12/2010, 17h16
  3. Enregistrer un DataInputStream dans une base de données
    Par urbanoll2 dans le forum Général Java
    Réponses: 2
    Dernier message: 03/11/2010, 16h57
  4. Réponses: 4
    Dernier message: 26/09/2006, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo