where date() > date+24heures
Bonjour,
Je suis en train de développer un petit annuaire de lien.
Pour eviter la triche au niveau du comptage des hit IN j'ai commencé à mettre en place à système de contrôle par ip.
C'est à dire qu'un seul hit par visiteur ne sera compté par tranche de 24 heures.
Donc avant de mettre à jour le nombre de hits in dans la base je fais ce type de contrôle
Voici ma table
Code:
1 2 3 4 5 6
|
links_history_ip_id int(11) Non auto_increment
links_id int(11) Non 0
ip_hits varchar(15) Non 0
links_history_ip_date datetime Non 0000-00-00 00:00:00 |
Voici mon code php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
function tep_check_unique_hit($link_id) {
$count_hit = false;
$ip_address = tep_get_ip_address();
$ip_count_query = tep_db_query("select count(*) as total from " . TABLE_LINKS_HISTORY_IP . " where ip_hits = '" . $ip_address . "' and links_id = '" . (int)$link_id . "'"); !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$ip_count = tep_db_fetch_array($ip_count_query);
if ($ip_count['total'] == 0) {
INSERT in table
$count_hit = true;
}
return $count_hit;
} |
Al'endroit ou j'ai mis les !!!!!!!!(dans la clause where) je souhaite mettre donc cette portion de code :
Code:
1 2
|
and date_format(now(), '%Y%m%d %H:%i:%s') > date_format(links_history_ip_date, '%Y%m%d %H:%i:%s')+24 hours |
Le problème c'est que je ne parvient pas à mettre ça dans une syntaxe correcte merci de me filer un coup de main.
Autrement je peux insérer cette portion de contrôle sur la date comme ceci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
function tep_check_unique_hit($link_id) {
$count_hit = false;
$ip_address = tep_get_ip_address();
$ip_count_query = tep_db_query("select * from " . TABLE_LINKS_HISTORY_IP . " where ip_hits = '" . $ip_address . "' and links_id = '" . (int)$link_id . "'");
if (tep_db_num_rows($ip_count_query)) {
while ($ip_count = tep_db_fetch_array($ip_count_query)) {
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if ( date('Y-m-d H:i:s') > ($ip_count['links_history_ip_date']+24) ) {
tep_db_query("insert into " . TABLE_LINKS_HISTORY_IP . " (links_id, ip_hits, links_history_ip_date) values ('" . (int)$link_id . "', '" . $ip_address . "', now())");
$count_hit = true;
}
}
}
return $count_hit;
} |
Voilà donc si quelqun pouvait me filer un coup de main sur la syntaxe pour le controle sur les enreigstrements inférieures à 24 heures et me dire quelle solution utilisée entre la première et la deuxième ce serait sympathique
Merci
:wink: