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 :

recherche select par ID


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut recherche select par ID
    Bonjour tout le monde j'espere que ca va et que le week end a était bon =)

    Alors voila je souhaiterais faire une recherche par Date sauf que la date affiché est sous format :
    jj-mm-aaaa et la date dans ma base de donnée phpmyadmin est sous format aaaa-mm-jj du coup ca colle pas j'ai donc pensée a faire une recherche par l'ID de la date .. mais je n'ai aucune idée de comment m'y prendre ..

    J'ai des dates déjà enregistré dans ma base de donnée qui s'affiche sous forme de liste deroulante et en liste normale en dessous dans un fichier appelé recap.php :
    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
    <TD>
    <select name="date" id="date">
         <option value=""></option>
          <?php
               $sql = 'SELECT DATE_FORMAT(`DATE`,\'%d-%m-%Y %H:%i\') AS date_fr FROM `intervention` '; 
               $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());  
               while ($row = mysql_fetch_array($req, MYSQL_ASSOC)) {
                   echo '<option value="'.$row['date_fr'].'"> '.$row['date_fr'].'</option>';
               }
            ?>
    </select>
    <?php 
    // on crée la requête SQL 
    $sql = 'SELECT DATE_FORMAT(`DATE`,\'%d-%m-%Y %H:%i\') AS date_fr FROM `intervention`'; 
     
    // on envoie la requête 
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
    while($data = mysql_fetch_array($req)) {
     
    echo '</br>'.$data['date_fr'].'</br>';
    } 	
    ?>
    </TD>
    Et je sélectionne dans ma base de donnée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Connexion a la base de donnée
    connectMaBase();
     
    // on crée la requête SQL 
    $sql = 'SELECT *,DATE_FORMAT(`DATE`,\'%d-%m-%Y %H:%i\') AS date_fr FROM `intervention` WHERE 1=1 ';
    if (!empty($_POST['date_fr']))
       $sql.= " AND `DATE` LIKE '".mysql_real_escape_string($_POST['date_fr'])."' ";

    Voila si quelqu'un pourrait m'aiguiller je lui serais très reconnaissante merci beaucoup a tous et a toutes !!

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Converti la date saisie au format mysql.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    si je fais l'affichage sera donc en format SQL pour le user .. et ca client pas vouloir

  4. #4
    Membre actif Avatar de stephanegib2
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 152
    Points : 233
    Points
    233
    Par défaut
    Bonjour,

    Pour convertir une date en PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $dateFR = '25-11-2013';
    $dateMYSQL = date("Y-m-d", strtotime($dateFR ));
     
    $dateMYSQL = '2013-11-25';
    $dateFR = date("d-m-Y", strtotime($dateMYSQL ));

  5. #5
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Bonjour =)
    Mais c'est pas la convertir je l'ai déjà fais ca ... C'est vraiment dans la base de donnée que bah vu que les formats sont différents dans phpmyadmin bah mon select a partir de ma liste déroulante de fonctionne pas forcement

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    Citation Envoyé par gwendoline-bricout Voir le message
    si je fais l'affichage sera donc en format SQL pour le user .. et ca client pas vouloir
    lol

    ils te demandent de convertir à l'insertion et update,par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql.= " AND `DATE` LIKE '".dateFr_to_En($_POST['date_fr'])."' ";
    $moi= ( !== ) ? : ;

  7. #7
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Dit dont on ce moque pas

    Bah j'ai essayé mais marche pas ...
    Il m'affiche toute ma table mais par contre grace a print_r($_POST) je peux voir que la valeur de date est bien : 13-11-2013 10:33:30

    -----------------------------
    J'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (!empty($_POST['date_fr']))
    $_POST['date_fr'] = $dateFR ;
    $dateMYSQL = date("Y-m-d", strtotime($dateFR ));
       $sql.= " AND `DATE` LIKE '".mysql_real_escape_string($dateFR)."' ";
    Il me dit quil ne reconnais pas ma variable $dateFR ..

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    re-lol

    j'ai écrit : dateFr_to_En($_POST['date_fr'])et pour le code de la fonction dateFr_to_En() ... il faut voir stephanegib2
    $moi= ( !== ) ? : ;

  9. #9
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Mais j'ai essayer la tienne de methode et celle de euh je sais plus le speudo le monsieur au dessus attend je réessaie avec ta ligne ..

    -----------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (!empty($_POST['date_fr'])) {
    $dateFR = $_POST['date_fr'];
    $dateMYSQL = date("Y-m-d", strtotime($dateFR ));
       $sql.= " AND `DATE` LIKE '".dateFr_to_En($dateMYSQL)."' "; }
    je n'ai pas de message d'erreur mais il ne filtre pas ^^
    Et c'est normal car la valeur du post et de :
    13-11-2013 10:33:30 du coup quand il fais la comparaison dans la BDD bah il reconnais pas
    ---------------------------
    J'ai essayé ceci mais el filtre ne se fais toujours pas ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (!empty($_POST['date'])) { echo 'coucou' ;
    $dateFR = $_POST['date'];
    function dateFr_to_En($dateFR) {
    $dateMYSQL = date("Y-m-d", strtotime($dateFR ));
    }
       $sql.= " AND `DATE` LIKE '".dateFr_to_En($dateFR)."' "; }
    ------------------------------
    j'ai tester autre chose mais ca ne fonctionne pas non plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (!empty($_POST['date'])) { ;
     
    $date_fr = $_POST['date'];//    jour/ mois/annee
    echo $date_fr ;
    $array_date_fr=explode("/",$date_fr); //explode en un array
    $date_us=$array_date_fr[2]."-".$array_date_fr[0]."-".$array_date_fr[1]; //   annee-jour-mois
     
       $sql.= " AND `DATE` LIKE '".mysql_real_escape_string($date_us)."' "; }
    je sens que je ne suis pas tres loin mais j'arrive pas a mettre la main dessus ..

  10. #10
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Points : 135
    Points
    135
    Par défaut
    Voici la solution tout fonctionne a merveille j'ai décidé d'écarté la date et l'heure dans ma BDD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (!empty($_POST['date'])) { ;
     
    $date = $_POST['date'];
    $date = explode("-", $date);
    $newsdate=$date[2].'-'.$date[1].'-'.$date[0];
    echo $newsdate;
     
       $sql.= " AND `DATE` LIKE '".mysql_real_escape_string($newsdate)."' "; }

  11. #11
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    ta fonction ne retourne rien pour pouvoir récupérer la date convertie en format en.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (!empty($_POST['date'])) { echo 'coucou' ;
    $dateFR = dateFr_to_En( $_POST['date']);
     
       $sql.= " AND `DATE` LIKE '".mysql_real_escape_string($dateFr)."' "; 
    }
     
    //conversion de la date fr en format en
    function dateFr_to_En($dateFR) {
    return date("Y-m-d", strtotime($dateFR ));
    }

Discussions similaires

  1. selection par click droit
    Par mecocha dans le forum MFC
    Réponses: 2
    Dernier message: 22/12/2004, 22h35
  2. Selection par clic de souris
    Par bilbonec dans le forum OpenGL
    Réponses: 7
    Dernier message: 16/04/2004, 00h25
  3. Select par mot-clés ou 1er lettre
    Par maadadi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/02/2004, 10h50
  4. selection par date
    Par adgabd dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/01/2004, 10h28
  5. [TListBox] Selection par défaut
    Par Nuts07 dans le forum Composants VCL
    Réponses: 8
    Dernier message: 12/05/2003, 10h00

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