İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

3 gün önceki verileri silmek

akif

0
İyinet Üyesi
Katılım
15 Aralık 2004
Mesajlar
194
Reaction score
0
Merhaba
Siteye nereden girilmiş, bunları vt'ye kayıt ediyorum.Veritabanı şişmesin diye 3 gün önceki kayıtları silmek istiyorum.. Yardımcı olursanız memnun olurum.

Aşağıdaki kodla kayıt ediliyor.
PHP:
CREATE TABLE `referer` (
`id` smallint( 6 ) NOT lisanssız AUTO_INCREMENT ,
`agent` varchar( 50 ) NOT lisanssız default '',
`ref` varchar( 50 ) NOT lisanssız default '',
`uri` varchar( 50 ) NOT lisanssız default '',
`ipi` text NOT lisanssız ,
`tarih` varchar( 10 ) NOT lisanssız default '2006-00-00',
`saat` varchar( 8 ) NOT lisanssız default '',
PRIMARY KEY ( `id` ) ,
KEY `id` ( `id` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1;
*/
include ("yol.php"); 
 
$agent = $_SERVER['HTTP_USER_AGENT'];
$ref = $_SERVER['HTTP_REFERER'];
$uri = $_SERVER['REQUEST_URI'];
$ipi = getenv("REMOTE_ADDR");
$tarih = date("d-m-Y");
$saat = date("h:m:s");


    $ekle = mysql_query("INSERT INTO referer(agent, ref, uri, ipi, tarih, saat) VALUES('$agent','$ref','$uri','$ipi','$tarih','$saat')");
print mysql_error();

?>

bu kodlarla ekran çıktısını alıyorum.
bunu listelereken 3 ün önceki veriler silinerek çıkmasını istiyorum..

PHP:
<? 
$oku = mysql_query("SELECT * FROM referer ORDER BY tarih DESC"); 
//$oku=mysql_query("select distinct ref from referer ORDER BY tarih DESC");
while ($okunan = mysql_fetch_array($oku)){ 
?> 
<tr> 
<td align="CENTER" style="font-size: xx-small;"> <?=$okunan['id']?> </td>
    <td width="170" height="11" align="CENTER" style="font-size: x-small;"><?=$okunan['ref']?> </td>  
    <td align="CENTER" style="font-size: xx-small;"><?=$okunan['tarih']?> </td> 
	<td align="CENTER" style="font-size: xx-small;"><?=$okunan['saat']?> </td>
	<td align="CENTER" style="font-size: xx-small;"><?=$okunan['ipi']?> </td> 
<!--<td align="CENTER" style="font-size: xx-small;"><?=$okunan['agent']?> </td> -->
	<td align="CENTER" style="font-size: xx-small;"><?=$okunan['uri']?> </td> 
 </tr> 
<?php 
} 
?>
 

AXSlayer

0
İyinet Üyesi
Katılım
16 Haziran 2008
Mesajlar
11
Reaction score
0
time() fonksiyonu ile girersen zamani senin için kolay olur silmesi.
bir sütun daha oluştur adini time yap

PHP:
$time = time();
olarakda veri girişi yap.

verileri listelerken 3 gün öncesini silmek içinde
PHP:
$ucgunonce = time() - (3 * 24 * 3600);
$sil = mysql_query("delete from referer where time<'$ucgunonce'");

denemedim ama calişir diye düşünüyorum.
 

deja_wu

0
İyinet Üyesi
Katılım
26 Şubat 2005
Mesajlar
142
Reaction score
0
En Kolayı Bence bu şekilde
PHP:
$sil = mysql_query("delete from referer WHERE tarih >= DATE_SUB(NOW(), INTERVAL 3 DAY) ");
 

akif

0
İyinet Üyesi
Katılım
15 Aralık 2004
Mesajlar
194
Reaction score
0
Verdiğiniz cevaplar için teşekkür ederim..

deja_wu ; hata vermedi fakat sonuç alamadım.
AXSlayer; time sütunu ekledikten sonra ,
$ucgunonce = time() - (3 * 24 * 3600);
$sil = mysql_query("delete from referer where time<'$ucgunonce'");
oldu ..
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst