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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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