capping
pour faire plus simple, tu peux manipuler des date au format sql (yyyy-mm-dd) et utiliser la function mysql UNIX_TIMESTAMP() pour les comparer...
A mon avis, ca serait meme plus simple que de jouer avec les mktime ;)
Dans le genre
<?php
$date = "2005-02-16";
$query = "
SELECT *
FROM table
WHERE
UNIX_TIMESTAMP(table.date) < (UNIT_TIMESTAMP($date) + 80400)";
?>
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
J ai mis ce code les ip sont bien enregistrés dans la table ainsi que la date mais le compteur s incremente quand meme :o(
qui pourrai me dire pourquoi?
$date = date ("d,m,Y");
$del ='DELETE from caping WHERE date!="'.$date.'"';
mysql_query($del) or die('Erreur SQL !'.$del.''.mysql_error());
$cap = 'SELECT count(*) FROM caping WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"';
$capi = mysql_query($cap) or die('Erreur SQL !'.$cap.''.mysql_error());
$caping = mysql_fetch_array($capi);
if ($caping[0] == 0) {
$new = 'INSERT INTO caping VALUES( "'.addslashes($date).'","'.$_SERVER['REMOTE_ADDR'].'")';
mysql_query($new) or die('Erreur SQL !'.$new.''.mysql_error());
}
elseif ($date!=$caping['date']) {
//incrementation du compteur
C'est quoi ton incrémentation de compteur ?
Parce que la, la variable $caping['date'] n'existe pas dans ton script...
ben si je la recupere dans la table la le code suivant
$cap = 'SELECT count(*) FROM caping WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"';
$capi = mysql_query($cap) or die('Erreur SQL !'.$cap.''.mysql_error());
$caping = mysql_fetch_array($capi);
t arapidité m impressione laglobule lol
$cap = 'SELECT count(*) FROM caping WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"';
Dis moi ou est ce que tu selectionnes la date là ?
Et c'est quoi ton histoire de compteur ?
bon je te met la page complete ca sera plus simple
if (isset($_GET['id'])) { $id=$_GET['id'];
$base = mysql_connect ('localhost', 'login', 'pass');
mysql_select_db ('db_D_boostrafic_com', $base);
$sql = 'SELECT * FROM editeur WHERE id="'.addslashes($_GET['id']).'"';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$data = mysql_fetch_array($req);
$an = 'SELECT * FROM annonceur WHERE id="'.addslashes($data['actuel']).'"';
$ano = mysql_query($an) or die('Erreur SQL !'.$an.''.mysql_error());
$anon = mysql_fetch_array($ano);
//capping
$date = date ("d,m,Y");
$del ='DELETE from caping WHERE date!="'.$date.'"';
mysql_query($del) or die('Erreur SQL !'.$del.''.mysql_error());
$cap = 'SELECT count(*) FROM caping WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"';
$capi = mysql_query($cap) or die('Erreur SQL !'.$cap.''.mysql_error());
$caping = mysql_fetch_array($capi);
if ($caping[0] == 0) {
$new = 'INSERT INTO caping VALUES( "'.addslashes($date).'","'.$_SERVER['REMOTE_ADDR'].'")';
mysql_query($new) or die('Erreur SQL !'.$new.''.mysql_error());
}
elseif ($date!=$caping['date']) {
$visite = $data ['visite'] + 1 ;
$v = 'UPDATE editeur SET visite="'.addslashes($visite).'" WHERE id="'.addslashes($_GET['id']).'"';
mysql_query($v) or die('Erreur SQL !'.$v.''.mysql_error());
$v = 'UPDATE stat SET visite="'.addslashes($visite).'" WHERE id="'.addslashes($_GET['id']).'"AND fin="en cour"';
mysql_query($v) or die('Erreur SQL !'.$v.''.mysql_error());
}
$urlsite = $anon ['urlsite'];
$urlbanniere = $anon ['urlbanniere'];
$date = $data['depart'];
mysql_close ();
}
?>
le champs date est dans la table caping donc $caping['date'] est la date non?
tu me met le doute la!
et je compare $date a $caping['date']
Ben non, quand tu fais un :
$cap = 'SELECT count(*) FROM caping WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"';
Tu ne selectionnes pas la date, donc $caping['date'] n'existe pas.
arf
fo faire
$cap = 'SELECT * FROM caping WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"';
ou
$cap = 'SELECT date FROM caping WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"';
donc une fois de plus je demontre a quel point je suis nul :o(
merci la globule j essai ca alors
Oui, mais si tu fais un select *, tu ne vas pas savoir combien de résultats la requete retourne.
Faudra donc faire un
mysql_num_rows apres ton mysql_query.
PS : le select * n'est pas du tout conseillé.