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 entre 2 dates [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut recherche entre 2 dates
    Bsr voici mon probleme, j'essai de faire une recherche entre 2 dates: mais ke probleme c'est que le resultat il se base sur les jours mais pas les mois et les année, par exemple si je veux faire une recherche du '01-10-2010' jusqu'au '31-10-2010' sa donne le mm resultat que pour '01-11-2010' jusqu'au '31-11-2010'
    les 2 variables $date_du et $date_au sont recuperés a partir de 2 champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req = "select * from t_client WHERE assistance='Technique' and date_mis between '$date_du' and '$date_au' ORDER BY date_mis";

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour,

    tes champs sont au quel format ? datetime ? varchar ?
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  3. #3
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    varchar, je crois que c sa le probleme???

  4. #4
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    heu...

    oui

  5. #5
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    alors mnt je dois changer le type de mon champs.
    Mais d'apres des recherches j'ai vu que le format du champs date "yyyy-mm-dd".
    Comment faire pour changer ce format par "dd-mm-yyyy"?
    surtout que j'ai plus de 1000 enregistrement.
    Merci d'avance

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Tu peux utiliser dateformat()

    http://dev.mysql.com/doc/refman/5.1/...on_date-format

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATE_FORMAT(champs, '%d %m %Y');
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  7. #7
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    j'ai mis de code mais sa donne rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql="SELECT DATE_FORMAT(date_mis,'%d-%m-%Y') AS date_mis from t_client";
          $result= mysql_query ($sql) or die ("Select impossible");
          while($row = mysql_fetch_array($result)){
          echo $row['date_mis'].'<br>';
          }
    alors mnt je serai obligé de re-faire toute la table

  8. #8
    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
    Comment faire pour changer ce format par "dd-mm-yyyy"?
    Tu veux plutot dire "comment remplacer "dd-mm-yyyy" par "yyyy-mm-dd" non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE  t_client SET date_mis = STR_TO_DATE(date_mis, '%d-%m-%Y')
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    je crois que le probleme de mon code est le suivant :
    le type de mon champs est varchar, alors impossible de faire cette fonction, je dois re-faire la saisi de la date manuellement..
    Car la fonction str_to_date, doit etre effectuée sur un champs 'date' mais pas 'varchar'.
    Et pour sabotage, le champs date est sous la forme "yyyy-mm-dd", moi ce que je cherchais c'est de changer cette forme par "dd-mm-yyyy", j'espere que tu m'as compris .
    Merci pour l'aide

  10. #10
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    rajoute un champs temporaire au format datetime et tu updates ce champs avec le nouveau format

    tu supprimes l'ancien champs au format varchar et tu renommes le nouveau champs temporaire datetime avec l'ancien nom ?
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

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

Discussions similaires

  1. Resultat de recherche entre deux dates
    Par Titeuf_sql dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/03/2007, 15h38
  2. Recherche entre 2 dates (début/fin)
    Par Julien42 dans le forum Access
    Réponses: 4
    Dernier message: 11/01/2007, 10h33
  3. recherche entre 2 dates
    Par avyrex dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/12/2006, 00h17
  4. recherche entre deux dates dans une requête
    Par emmanuel4945 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/11/2006, 21h42
  5. rechercher entre 2 dates
    Par iomega dans le forum Requêtes
    Réponses: 6
    Dernier message: 04/10/2006, 14h16

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