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 :

time() comparaison timestamp [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
    Inscrit en
    Mars 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2007
    Messages : 95
    Par défaut time() comparaison timestamp
    Bonjour

    Est-il possible dans une requête de sélectionner un timestamp mais de le comparer uniquement avec le jour et le mois, pas de minutes ni secondes

    Je voudrais pouvoir sélectionner un champ act_date d'une table en ne sélectionnant que le jour et le mois dans time() pour pouvoir interdire à un membre d'envoyer par exemple 2 messages par jour à un même utilisateur.

    y a-t-il moyen d'écrire time(d-m) ?

  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
    Bonjour,

    Pourrais-tu etre plus précis ? Avec quelle base de donnée travailles-tu et de quel type est ton champ contenant la date ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2007
    Messages : 95
    Par défaut
    En fait c'est un site de profils où les membres envoient des clins d'oeil mais je voudrais limiter à 1 clin d'oeil donné à un même membre au maximum

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $winks_already_today = $db->getOne("SELECT userid, ref_userid, act_time, act from ! WHERE userid = ? and ref_userid = ? and act_time = ? and act = ?", array(VIEWS_WINKS_TABLE, $_SESSION['UserId'], $_GET['ref_id'], time('Ymd'), 'W'));
    Pour la requête et pour l'alerte si le clin d'oeil a déjà été envoyé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if ($winks_already_today > 0){
     
    	alert('Vous lui avez déjà envoyé un clin d\'oeil aujourd\'hui, \nRetentez demain !!');
     
    } else {
    Donc je cherche à ce que si on retrouve dans ma bdd mysql une ligne identique à la requête actuelle, une alerte arrive.

    Le problème c'est que la date est inscrite en timestamp dans la BDD et je voudrais juste prendre le jour et le mois du timestamp pour limiter à 12h ou 24h l'envoi d'un clin d'oeil

  4. #4
    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
    Ca aurait été plus pratique d'utiliser un champ DATE mais tu peux faire comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     and act_time < UNIX_TIMESTAMP(DATE_ADD(CURDATE(), INTERVAL 1 DAY))
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2007
    Messages : 95
    Par défaut
    Merci pour ta réponse et donc ça va faire qu'un membre ne pourra plus donner de clin d'oeil dans les 24h ?
    y a moyen de faire 12h ?

    Ou alors jusque minuit ? je suis compliqué je sais


    je cherche en fait que lorsqu'un membre envoie un clin d'oeil, on recherche dans la BDD si il y a une ligne identique et si un clin d'oeil a déjà été envoyé dans les 12 h précédentes, une alerte s'affiche.

    Car avec ton ajout, il compare directement mais je ne sais pas mettre de condition

  6. #6
    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
    Ou alors jusque minuit ?
    Jusqu'a minuit ca s'appelle le meme jour

    il compare directement mais je ne sais pas mettre de condition
    Si tu trouves une ligne, c'est qu'il a déjà ecrit, sinon, il peut écrire.
    d'ailleurs ma condition n'est pas bonne en fait, il faut chercher un timestamp superieur au début de la journée en cours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and act_time > UNIX_TIMESTAMP(CURDATE())
    Si tu veux, dans les "x dernieres heures" il faudrait faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and act_time > UNIX_TIMESTAMP() - (x*3600)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Conversion de Time vers TimeStamp
    Par jackvpt dans le forum Oracle
    Réponses: 2
    Dernier message: 13/01/2011, 19h44
  2. Comparaison timestamp à partir d'une liste de Timestamp
    Par Invité dans le forum Général Java
    Réponses: 2
    Dernier message: 21/07/2009, 17h08
  3. Différence entre Date Time et Timestamp
    Par menzlitsh dans le forum Langage
    Réponses: 1
    Dernier message: 28/04/2009, 14h32
  4. [Dates] Convertion Time en TimeStamp
    Par riete dans le forum Langage
    Réponses: 2
    Dernier message: 23/04/2008, 15h45
  5. [MySQL] timestamp + time
    Par Hotfirenet dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2007, 15h39

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