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

Langage PHP Discussion :

[Dates] Recherche sur un agenda


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Par défaut [Dates] Recherche sur un agenda
    Bonjour,

    Voilà, j’aimerais faire une recherche d’événements sur un agenda, mais je crois que je m’y prends très très mal, alors j’aimerais les conseils de pro
    Ma base de données contient les champs suivants (je ne cite que les utiles) :

    - id_agenda
    - annee_debut
    - annee_fin
    - mois_debut
    - mois_fin
    - jour_debut
    - jour_fin
    - etc...

    Comme vous le voyez, je n’ai pas mis de champ DATE, ça m’a posé des soucis et j’ai voulu contourner le problème........... qui risque de m’en poser aujourd’hui, j’ai l’impression.
    Sur mon agenda, j’ai des liens avec l’année, le mois et le jour (du genre /agendas.php?annee=2006&mois=09&jour=05).
    Mais comment faire pour exploiter ça avec ma table ? Ne vaut-il pas mieux que j’ai un champ DATE dans ma table ?
    Parce que bon... Si je veux faire un truc correct, il faudrait vraiment une requête lourde j’ai l’impression (si par exemple l’année de fin est différente de l’année de début, etc)...

    Si quelqu’un a des conseils à me donner pour faire une recherche...
    (Requête du type « SELECT * FROM agendas WHERE … )
    (justement : where quoi ? ça risqué d’être bordélique et bien lourd )

    Merci d’avance à ceux qui voudront bien m’éclairer !

  2. #2
    Membre chevronné Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Par défaut
    Citation Envoyé par Msieurduss
    Mais comment faire pour exploiter ça avec ma table ? Ne vaut-il pas mieux que j’ai un champ DATE dans ma table ?
    ben carrément !

    exemple entre 2 date :
    SELECT * FROM agendas WHERE date between '$date1' AND '$date2';

    quand on choisit une date
    SELECT * FROM agendas WHERE date='$date1';


    apre stu as plei nde fonction qui te permette de t'extraire le mois, le jour et l'année d'un champs date, tres pratique si tu veux rechercher que dans un mois...etc

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Par défaut
    Ah oui en effet ça simplifie tout, je ne comprends pas où j'avais eu le problème la dernière fois car là l'insertion marche nickelle...

    Et merci pour ton début de réponse concernant l'exploitation aussi
    J'ai cependant un problème avec cette exploitation...
    Je n'arrive pas à faire marcher le between
    Si par exemple je fais :
    (où $recherche=YYYY-MM-DD, avec des valeurs précises)
    (et où date_debut et date_fin sont des champs de ma BDD, avec des valeurs DATE)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $req= mysql_query("SELECT * FROM agendas WHERE $recherche between 'date_debut' AND 'date_fin'") or die ("Erreur : ".mysql_error());
    $out= mysql_fetch_array($req);
     
    if($out) { echo "Ca marche !"; } else { "Aucun résultat ce jour."; }
    Il ne me renvoie rien...
    Un "echo $out" ne donne rien non plus (donc bon j'ai pas testé en traitant les valeurs).
    Et je devance : oui j'ai bien quelque chose dans ma BDD qui correspond au moment où je cherche

  4. #4
    Membre chevronné Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Par défaut
    il manquerait pas des dollars... pour les variables de date ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM agendas WHERE $recherche between '$date_debut' AND '$date_fin'
    cherche apres sur le net , date en US ou en FR pour avoir les bon formats de date pour mysql !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Par défaut
    Nonon il manquait pas des dollars, date_debut et date_fin sont des champs de ma BDD...
    Mais j'ai fait différemment sous conseils d'un ami, j'ai rajouté deux champs qui contiennent la version timestamp de chaque date, ainsi je compare les secondes avec la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM pab_agenda WHERE ts_debut<=$ts_recherche AND ts_fin>=$ts_recherche
    Ce qui est 'achement plus simple quand même
    Merci quand même pour tes réponses

    A bientôt (sisi ) !

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

Discussions similaires

  1. [DEBUTANT] Recherche sur 2 champs date
    Par tripper.dim dans le forum Oracle
    Réponses: 2
    Dernier message: 07/09/2007, 14h05
  2. recherche sur des dates
    Par ingui dans le forum Access
    Réponses: 2
    Dernier message: 07/03/2007, 18h37
  3. probleme avec des filtres de recherche sur des dates
    Par MCarole dans le forum Access
    Réponses: 2
    Dernier message: 24/07/2006, 10h22
  4. [débutant] recherche sur dates en VBA
    Par tojiji dans le forum Access
    Réponses: 4
    Dernier message: 10/07/2006, 11h51
  5. Recherche sur des dates
    Par jroy dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 09/02/2006, 08h27

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