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

PHP & Base de données Discussion :

données vers base selection de jours [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut données vers base selection de jours
    Bonjour à tous!

    Grace à ce code,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $debut = new DateTime($creat_date_debut);
    $fin = new DateTime($creat_date_fin);
    $fin->add(new DateInterval('P1D'));
    while ( $debut != $fin)
    {		
    	echo $debut->format('d/m/Y').'<br/>';
    	$debut = $debut->add(new DateInterval('P1D'));
    }
    Je vois toutes dates comprises entre 2 dates.
    Ex: si $creat_date_debut = 10-08-2012 et $creat_date_fin = 20-08-2012
    j'obtiens:
    10/08/2012
    11/08/2012
    12/08/2012
    13/08/2012
    14/08/2012
    15/08/2012
    16/08/2012
    17/08/2012
    18/08/2012
    19/08/2012
    20/08/2012
    Ca ça marche bien, voilà mon soucis:

    Pour faire simple, je voudrais envoyer toutes ces dates de $creat_date_debut à $creat_date_fin dans ma base sql. Ce ne sont pas des string, Ce ne sont pas des values.
    J'ai passé la journée à lire des forums et faire des essais, Rien n'y fait!

    j'en suis à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    if (isset($debut) && ($fin))
    {
    	/*connexion a la BDD*/
    	require"./includes/identifiants.php";
     
    	req=$PDO->prepare ('INSERT INTO essai (date) VALUES ( $debut )');
    	$req->bindValue($debut, $debut, PDO::PARAM_INT);
    	$req->execute(array ( $debut=>$debut ));
     
     
    }
    Toutes les autres données de mon formulaire était envoyées sans problème dans ma base de données. Là j'ai mal à la tête et je ne sais plus. J'ai épuisé toutes mes connaissances.

    HELP
    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Voilà je viens de trouver ma réponse sur le forum:
    http://www.developpez.net/forums/d11...alendrier-php/
    Le dernier message !!!

    J'ai juste un peu modifié car cela ne rajoutait pas le dernier jour.
    Ce qui donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $start = DateTime::createFromFormat('Y-m-d', '2012-02-01');
    $end   = DateTime::createFromFormat('Y-m-d', '2012-03-01');
     
    $dates = array();
    $step  = new DateInterval('P1D');
     
    for($cur = $start; $cur< $end; $cur->add($step)) {
      echo $dates[] = $cur->format('Y-m-d').'<br/>';
      echo $dates[] = $end->format('Y-m-d').'<br/>';
    }
     
    ?>
    Cela transforme les date en array donc utilisable par la suite.
    Merci à ceux qui ont regardé mon message
    Mimosa21

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,
    Citation Envoyé par mimosa21 Voir le message
    J'ai juste un peu modifié car cela ne rajoutait pas le dernier jour.
    Ok mais tu as mal modifié. Tu as changé ta limite supérieure pour intégrer le dernier jour !!! Alors qu'il ne suffisait que de modifier légèrement le for comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($cur = $start; $cur <= $end; $cur->add($step))
    pour arriver exactement au même résultat.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Merci rawsrc c'est rectifié !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $start = DateTime::createFromFormat('Y-m-d', '2012-02-01');
    $end   = DateTime::createFromFormat('Y-m-d', '2012-03-01');
     
    $dates = array();
    $step  = new DateInterval('P1D');
     
    for($cur = $start; $cur<= $end; $cur->add($step)) {
      echo $dates[] = $cur->format('Y-m-d').'<br/>';
    }
     
    ?>

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

Discussions similaires

  1. Données vers base de données et vice versa
    Par bojbop dans le forum Android
    Réponses: 1
    Dernier message: 26/04/2013, 00h00
  2. Réponses: 9
    Dernier message: 06/07/2006, 18h41
  3. [Access 2002] Exporter des données vers une base Access 2.0
    Par SamLeChiseuji dans le forum Access
    Réponses: 27
    Dernier message: 01/06/2006, 11h41
  4. Copie de base de données vers un autre PC
    Par claire.martin dans le forum Access
    Réponses: 19
    Dernier message: 06/01/2006, 14h20
  5. Importation CSV vers base de données
    Par Brice Yao dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/06/2005, 13h42

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