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 :

Difficulté de récupérer une valeur (date) de formulaire dans un select where like [MySQL]


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
    particulier
    Inscrit en
    Décembre 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Décembre 2017
    Messages : 105
    Par défaut Difficulté de récupérer une valeur (date) de formulaire dans un select where like
    Bonjour à Tous



    je peine à récupérer la valeur d'une date pour la passer dans un select where like

    mon code est assez simple et fonctionne bien avec la date en dur


    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
    39
    40
    41
    42
    43
    44
    45
    46
    <form method="post" >
    <input type="date" name="datefrom"  value="<?php echo date('dd-mm-yyyy'); ?>" /> affiche la date
    <br/>
    <input type = "submit" value="Envoyer">
    </form>
     
    PHP je transforme la date pour être lue dans la requête new1 résultat du formulaire new2 modification en jj/mm/yyy
    <?php
    date_default_timezone_set('Europe/Paris');
    $new1 = $_POST['datefrom']; 
    $new2 = date ("d/m/Y H:i:s", strtotime ($_POST['datefrom']));	
     
    echo $new1; verif
    ?>
    // Si tout va bien, on peut continuer
     
    <?php
    echo $new2;	verif
     
    // On récupère tout le contenu de la table log_nmea
    $reponse = $bdd->query('Select distinct date_log, latitude, longitude, vitesse, cap, cap_surface, profondeur, vitesse_vent_apparent, angle_vent_apparent FROM log_nmea	
    <form method="post" >
    <input type="date" name="datefrom"  value="<?php echo date('dd-mm-yyyy'); ?>" /> affiche la date
    <br/>
    <input type = "submit" value="Envoyer">
    </form>
     
    PHP je transforme la date pour être lue dans la requête new1 résultat du formulaire new2 modification en jj/mm/yyy
    <?php
    date_default_timezone_set('Europe/Paris');
    $new1 = $_POST['datefrom']; 
    $new2 = date ("d/m/Y H:i:s", strtotime ($_POST['datefrom']));	
     
    echo $new1; verif
    ?>
    // Si tout va bien, on peut continuer
     
    <?php
    echo $new2;	verif
     
    // On récupère tout le contenu de la table log_nmea
    $reponse = $bdd->query('Select distinct date_log, latitude, longitude, vitesse, cap, cap_surface, profondeur, vitesse_vent_apparent, angle_vent_apparent FROM log_nmea WHERE date_log LIKE "'$new2'%"' ); //la variable $réponse  c'est l'execution de la requête c'est la question posée fetch c'est l'extraction des données et la mise en tableau 
     
    ?>; //la variable $réponse  c'est l'execution de la requête c'est la question posée fetch c'est l'extraction des données et la mise en tableau 
     
    ?>

    J'ai une erreur au niveau de l'instruction WHERE date_log LIKE "'$new2'%"' )

    J'ai lu après tout sur le sujet et j'ai essayé plusieurs formules sans succès


    Je vous remercie de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il manque les points de concaténation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query('Select distinct date_log, latitude, longitude, vitesse, cap, cap_surface, profondeur, vitesse_vent_apparent, angle_vent_apparent FROM log_nmea WHERE date_log LIKE "'.$new2.'%"' );
    Par contre les dates dans la requête doivent être au format YYYY-mm-dd
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    particulier
    Inscrit en
    Décembre 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Décembre 2017
    Messages : 105
    Par défaut
    Bonjour Sabotage et merci de ta réponse

    Dans la requête en dur la syntaxe WHERE date_log LIKE "24/01/2018%"' est correcte


    J'avais essayé comme tu dis mais sans succès

    la requête en dur me donne le résultat suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    liste des logs Liste des Logs
    affiche la date
    PHP 2018-01-24// Si tout va bien, on peut continuer 24/01/2018 00:00:0024/01/2018 00:00:00
     
     
     
     
    Date 	latitude 	longitude  	vitesse 
    24/01/2018 07:58:36  		005°22,100'E   	005°22,100'E   	0.0Kt	
    24/01/2018 07:58:37  		005°22,100'E   	005°22,100'E   	0.0Kt


    ???????????,

  4. #4
    Membre confirmé
    Homme Profil pro
    particulier
    Inscrit en
    Décembre 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Décembre 2017
    Messages : 105
    Par défaut
    Suite.....

    erreur et correction

    avec la concaténation je suis en erreur de syntaxe sur le LIKE

    the right syntax to use near 'LIKE "24/01/2018%"

    donc la valeur est correctement passée puisqu'elle me renvoie ce que je mets en dur mais elle ne s'exécute pas

    j'ai dans l'erreur la même syntaxe qu'en dur

    'LIKE "24/01/2018%" VS LIKE "24/01/2018%"



    Merci

  5. #5
    Membre confirmé
    Homme Profil pro
    particulier
    Inscrit en
    Décembre 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Décembre 2017
    Messages : 105
    Par défaut
    Autant pour moi

    erreur de ma part

    LIKE LIKE

    Merci Sabotage je crois que tu m'as aidé à résoudre le pb.

    A un moment on fait erreur sur erreur ( au dessus je mettais dans la variable une date + heure ) et je faisais le like sur cette variable.

    Une petite aide permet de se recadrer

    Encore merci

    je reteste et je mets ce post en résolu

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    C'est volontaire d'utiliser une chaine de caractère plutôt qu'un type de date reconnu par ton SGBD ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [JSF] Récupérer une valeur d'un formulaire
    Par infoLife dans le forum Spring Web
    Réponses: 0
    Dernier message: 13/08/2011, 19h36
  2. Récupérer une valeur d'un formulaire POST
    Par drake56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/12/2009, 14h42
  3. Réponses: 2
    Dernier message: 12/09/2008, 09h24
  4. [AJAX] récupérer une valeur d'un formulaire en javascript
    Par bennap dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/05/2007, 17h09
  5. récupérer une valeur d'un formulaire en php
    Par feten dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/11/2005, 13h29

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