capping

Répondre
keitarosan
le 16/02/2005 à 15:05
keitarosan
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 <<
vengeur002
le 16/02/2005 à 18:37
vengeur002
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
LA GLOBULE
le 16/02/2005 à 18:42
LA GLOBULE
C'est quoi ton incrémentation de compteur ?

Parce que la, la variable $caping['date'] n'existe pas dans ton script...
vengeur002
le 16/02/2005 à 18:44
vengeur002
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);
LA GLOBULE
le 16/02/2005 à 18:49
LA GLOBULE
$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 ?
vengeur002
le 16/02/2005 à 18:56
vengeur002
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']
LA GLOBULE
le 16/02/2005 à 19:06
LA GLOBULE
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.
vengeur002
le 16/02/2005 à 19:10
vengeur002
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
LA GLOBULE
le 16/02/2005 à 19:12
LA GLOBULE
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é.
Répondre
LoadingChargement en cours