ste wrote:

Bonjour à tous,

Dans une table MySql je dispose d'entre autres deux champs (IpContact & timeContact)
IpContact (varchar) reprend dans la table l'adresse ip d'un utilisateur
timeContact (datetime) indique dans la table la date et l'heure auxquelles le visiteur a envoyé son/ses formulaire(s)


Pour limiter l'envoi de formulaires à 5 par jour, j'aimerais comparer l'ip de l'utilisateur avec les ip de la db du jour courant

// récupération de la variable ip de l'utilisateur par

$ip = $_SERVER['REMOTE_ADDR'];

   $sql = "SELECT * FROM contacts where ipContact=".$ip ;
   $result = mysql_query($sql,$link);

Quelqu'un a-t-il une idée de comment ne reprendre les ip des champs que pour une date précise (le cas échéant la date du jour) ?

Tu peux modifier ta requete comme ceci :
$sql = "SELECT IpContact FROM contacts WHERE ipContact=".$ip." AND timeContact = now()"; // pour aujourdui


pour une autre date, au lieu de now() tu peux mettre
"timeContact = ".date("Y-m-j", mktime(0,0,0,date("m"),date("d")-1,date("Y"))).";
ce qui va renvoyer la date d'hier (il y a peut etre plus facile, surement même, mais j'aime encore bien quand c'est bien tordu :) )


Tu peux jouer avec les intervales, par exemple récupérer toutes les ip des 7 derniers jour :
"timeContact <= now() && timeContact >= ".date("Y-m-j", mktime(0,0,0,date("m"),date("d")-7,date("Y")));


Je sais que ceci marche avec un champ date, j'ai jamais essayé avec un datetime, il faudra peut etre un peu adapter.
date() : http://be2.php.net/manual/fr/function.date.php
mktime() : http://be2.php.net/manual/fr/function.mktime.php


voila j'espère avoir répondu à ta question ou au moyen donné des pistes .

JF

_______________________________________________
Ressources mailing list
[EMAIL PROTECTED]
http://ressource-toi.org/cgi-bin/mailman/listinfo/ressources

Répondre à