Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité régulier
    Inscrit en
    août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : août 2008
    Messages : 35
    Points : 6
    Points
    6

    Par défaut données vers base selection de jours

    Bonjour à tous!

    Grace à ce code,

    Code :
    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 :
    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
    Invité régulier
    Inscrit en
    août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : août 2008
    Messages : 35
    Points : 6
    Points
    6

    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 :
    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 117
    Points : 7 211
    Points
    7 211

    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 :
    for($cur = $start; $cur <= $end; $cur->add($step))
    pour arriver exactement au même résultat.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  4. #4
    Invité régulier
    Inscrit en
    août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : août 2008
    Messages : 35
    Points : 6
    Points
    6

    Par défaut

    Merci rawsrc c'est rectifié !!!
    Code :
    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •