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

Dreamweaver Discussion :

Comparaison de dates saisies avec celles de la base mysql.


Sujet :

Dreamweaver

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut Comparaison de dates saisies avec celles de la base mysql.
    Bonjour,

    j'ai un formulaire de réservation avec deux dates(debut et fin) et j'aimerai vérifier si dans ma base ces dates ne sont pas déjà réservées.
    Pour cela j'ai converti mes variables en timestamp puis crée une requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $query_ReservationRs = sprintf("SELECT * FROM reservation WHERE ('.$debut.'  BETWEEN  UNIX_TIMESTAMP('debut') AND UNIX_TIMESTAMP('fin')) AND ('.$fin.'  BETWEEN  UNIX_TIMESTAMP('debut') AND UNIX_TIMESTAMP('fin')) AND objet_id = '.$loc_id.'");
    
    $ReservationRs = mysql_query($query_ReservationRs, $locasite) or die(mysql_error());
    $row_ReservationRs = mysql_fetch_assoc($ReservationRs);
    $totalRows_ReservationRs = mysql_num_rows($ReservationRs);
    Pourtant quelque soit les dates saisie,je n'ai pas de message d'erreur et $totalRows_ReservationRs reste à zero.

    Merci pour votre aide ou suggestions

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    salut,
    y a une truc que je comprend pas trop, c'est peut être l'heure d'un autre côté.
    mais,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ('.$debut.' BETWEEN UNIX_TIMESTAMP('debut') AND UNIX_TIMESTAMP('fin'))
    en principe $debut c'est bien ta date de début? qu'est ce qu'elle fait là? c'est le nom de ton champ qui doit être indiqué à ça place et au lieu de 'debut' et de 'fin' mettre tes valeur de date à savoir $debut et $fin.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    D'après toi je dois tester la valeur de mon champ début par rapport aux variables reçus du formulaire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ("SELECT * FROM reservation WHERE (UNIX_TIMESTAMP('debut')  BETWEEN  '.$debut.' AND '.$fin.') AND (UNIX_TIMESTAMP('fin')  BETWEEN  '.$debut.' AND '.$fin.') AND objet_id = '.$loc_id.'")
    Alors que moi je test les variables par rapport aux champs de ma base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("SELECT * FROM reservation WHERE ('.$debut.'  BETWEEN  UNIX_TIMESTAMP('debut') AND UNIX_TIMESTAMP('fin')) AND ('.$fin.'  BETWEEN  UNIX_TIMESTAMP('debut') AND UNIX_TIMESTAMP('fin')) AND objet_id = '.$loc_id.'")
    J'ai testé, le résultat est identique $totalRows_ReservationRs reste à zero.
    C'est peut être un problème avec le format des dates sur l'utilisation de BETWEEN.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Hello, si je peux me le permettre, je te propose de rajouter un champ dans ta table réservation, qui peut prendre la valeur : 0 à l'ajout, 1 attente de confirmation, 2 confirmé.
    De ce fait, si dans ta table tu as un enregistrement qui correspond à l'état 2 tes dates ne sont pas disponibles.
    Il faut pour cela afficher les jours dans un calendrier sous forme de couleurs en fonction de l'état.
    Voilà ce n'est qu'une suggestion.

Discussions similaires

  1. comparaison d'une date saisie avec la date systeme
    Par bachboucha dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/06/2009, 12h31
  2. Importation avec METADATA d'une base MySql
    Par yanne dans le forum W4 Express
    Réponses: 1
    Dernier message: 19/06/2007, 15h37
  3. Date compatible avec celle de mysql
    Par taroudant dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/08/2006, 08h16
  4. Réponses: 8
    Dernier message: 11/07/2006, 14h34
  5. Réponses: 6
    Dernier message: 03/10/2005, 14h04

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