Buonasera
Vi chiedo una modifica ad uno script per una funzione select, mi interessa rendere estrazione con la select unica per ip ogni 24 ore (come un contatore visite che conteggia ip unici ogni 24 ore).
In pratica lo script estrae a caso (random) dei banner da mostrare, attualmente li estrae in modo casuale (dunque capita che lo stesso utente con lo stesso ip veda a rotazione più volte lo stesso banner) a me invece interessa estrarli in modo casuale ma solo 1 volta nelle 24 ore basandosi sull’ip (dunque vorrei che 1 visitatore col suo ip possa vedere a rotazione solo 1 volta un preciso tipo di banner e lo possa rivedere dopo 24 ore).
Ho a parte una tabella che salva tutti gli ip, i timestamp e il numero della pubblicita visitata.
Ho effettuato varie modifiche ma non sono riuscito a imporre la condizione che 1 ip puo visitare solo 1 volta ogni 24 ore ogni pubblicita.
Dunque 1 ip potra visitare 1 volta ogni 24 ore ogni pubblicita (pubblicita 1, pubblicita 2, pubblicita 3 ma non dovra rivisitare prima delle 24 ore novamente la pubblicita 1).
Vi allego il codice e lo commento per spiegarlo.
Spero possiate aiutarmi, posso aggiungere qualsiasi colonna all’sql per creare questa condizione dell’ip ogni 24 ore.
Vi ringrazio per l’aiuto
Buonasera
Codice PHP:
<? include('includes/config.inc.php');
$today = time();
$url = $_SERVER['HTTP_HOST'];
$ip = $_SERVER['REMOTE_ADDR'];
$paese = “Italia”;
// ESTRAZIONE DALLA TABELLA BANNER IN MODO CASUALE LE PUBBLICITA IN STATO ATTIVO NELLA
LINGUA IMPOSTATA, SE NON SONO DISPONIBILI LO SCRIPT VA ALLA SECONDA PARTE//
$myDb->connect();
$ad_result=mysql_query("SELECT * FROM tabella_banner WHERE paese LIKE '%$paese%' AND stato='attivo'");
$ad_row=mysql_fetch_array($ad_result);
$myDb->close();
if (mysql_num_rows($ad_result) >= 1) {
$myDb->connect();
$tabla = mysql_query("SELECT * FROM tabella_banner WHERE paese LIKE '%$paese%' AND stato = 'attivo' ORDER BY RAND() LIMIT 0, 1");
echo "". $registro["indirizzo_web"];
// SE LO SCRIPT NON TROVA PUBBLICITA NELLA LINGUA IMPOSTATA ESTRAE LE ALTRE PUBBLICITA
IN STATO ATTIVO //
} else {
$myDb->connect();
$tabla = mysql_query("SELECT * FROM tabella_banner WHERE stato = 'attivo' ORDER BY RAND() LIMIT 0, 1");
echo "". $registro["indirizzo_web"];
}
?>