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 :

incrémentation requete a partir de dates


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Par défaut incrémentation requete a partir de dates
    Bonjour a tous,

    je souhaiterai effectuer ceci :

    je choisi une date dans un formulaire, je sélectionne un chiffre entre 1 et 7 dans une menu déroulant.
    Lorsque je valide le formulaire automatiquement a ratio date chiffres un enregistrement sera effectué dans une date avec la date incrémenté.

    Exemple :

    Je sélectionne la date suivante 20/01/2020, je sélectionne le chiffre 3.
    Je valide le formulaire, une requete s’exécute.
    trois enregistrements dans une table s'effecturons ( un enregistrement pour le 20/01/2020 un autre pour le 21/01/2020 et le dernier pour le 22/02/2020 )


    Afin d'effectuer des tests je pars sur une requête simple que en PHP pas de SQL.

    pour cela je pense effectuer cela : récupération de la date de départ, additionner le chiffre réceptionné, cela donnera la date d'arrivé, puis faire une boucle tant que la date de départ n'est pas <= a la date d'arrivé alors une requete d'insertion s'effecturas.

    voici mon début de script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $date_depart = $_POST['date']; // Affiche exemple 2020-10-20
    $incrementation = $_POST['incrementation']; // Exemple chiffre 2 
    $date_incremente = date("Y-m-d", strtotime('+'.$incrementation.' days', strtotime($date_depart))); // Retourne 2020-10-22
    $requete = '';   
    while ($date_depart <= $date_incremente) // tant que 2020-10-20 <= 2020-10-22
      {
        $requete .= "execution de la requete en boucle "; // execution de la requete
      }
     
    echo  $requete;
    actuellement j'obtiens l erreur suivante :

    Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 532676624 bytes) in /home/mbi85/php.tools-mbi85.fr/scriptdate.php on line 14

    le problème dois certainement venir de ma boucle, mais je bloc

    par avance merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 648
    Par défaut
    dans la boucle "while" vous devez augmenter d'un jour la variable $date_depart à chaque passage sinon vous aurez une boucle infinie.

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Par défaut
    Merci pour votre retour

    du coup je pars sur une boucle do...while

    le problème en fin de mois le code plante et me donne l'erreur suivante :

    Fatal error: Allowed memory size of 536870912 bytes exhausted

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $date_depart = $_POST['date']; // Affiche exemple 2020-10-20
    $incrementation = $_POST['incrementation']; // Exemple chiffre 2 
    $date_incremente = date("Y-m-d", strtotime('+'.$incrementation.' days', strtotime($date_depart))); // Retourne 2020-10-22
    $requete = '';  
    do
    {
    $requete .=  'Avec une incrémentation de '.$incrementation .' la date est la suivante : '.date("Y-m-d", strtotime($date_depart)) .'<br />';
    $date_depart++ ; // execution de la requete
    }
    while ($date_depart <= $date_incremente);
     
    echo  $requete;

Discussions similaires

  1. Requete a partir d'une date de naissance pour obtenir un age
    Par Fleur-Anne.Blain dans le forum Langage SQL
    Réponses: 11
    Dernier message: 10/08/2006, 12h40
  2. Réponses: 8
    Dernier message: 05/05/2006, 17h47
  3. requete pour compter par date
    Par smariteau dans le forum Requêtes
    Réponses: 8
    Dernier message: 10/01/2006, 00h10
  4. requete avec tri sur date erronée
    Par olivll dans le forum Access
    Réponses: 11
    Dernier message: 20/10/2005, 15h45
  5. Incrémenter un nombre à partir de 5000.
    Par kmayoyota dans le forum Débuter
    Réponses: 3
    Dernier message: 03/10/2005, 17h59

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