merhabalar..
elimde oluşturmak istediğim bi veritabanı var.. şöyle örnek vereyim.. bir sitemiz olduğunu düşünün.. içinde 20 sayfa var.. ben herbir sayfanın günlük hitini bir veritabanına kaydetmek ve herhangi bir anda X isimli sayfaya Y tarihinde ya da Z tarih aralığında kaç kişi girmiş kontrol etmek istiyorum.. yani 3 değişken var.. sayfa_adi, hit ve tarih değişkenleri.. bu 3 değişkeni kullanarak en kolay şekilde nasıl bir db oluşturabilirm.. kafam çok karışık.. dondum bi anda resmen gelmiyo aklıma hiçbişe..
bunu veritabanına nasıl yazarım?
9
●752
- 06-09-2008, 21:28:23sayfa=sayfa_no
hit=hit+1
tarih=2008-09-06
sayfada sql sorgusu su sekilde olacak..
sql tarih de date('Y-m-d'); yoksa yeni veri ekle
sayfa=sayfano
hit=1
tarih=date('Y-m-d')
eger varsa tarih date('ymd') olani bul
hit=hit+1 yap
date('Y-m-d') o anki tarihi 2008-09-06 seklinde verir
date fonksiyonu daha fazla bilgi icin;
http://www.ysbostan.com/php-date-fonksiyonu
- 06-09-2008, 22:25:55hmm anladım o zaman.. teşekkürler caddeciyiz.. ben daha farklı bişe düşünmüştüm ama o şekilde mümkün değil sanırım..
<table>
<tr><td></td><td>sayfa no</td><td>hit</td></tr>
<tr><td>tarih</td><5></td><td>456</td></tr>
</table>
yukarıdaki gibi olurmu die kafa yoruodum.. kafam durdu ama.. neyse bu da işime yarar sanırım..
edit:çalışmadı html kodları.. table yaparak görsel olarak göstermeye çalışmıştım.. - 06-09-2008, 22:52:07Üyeliği durduruldu$array['tarih']['sayfano veya isim'] = hit;
tarihe net gün verirsin (2008-09-06) gibi // time(); kullanırsan date(); fonk. ile tarih kontrolü yaparsın günlük ekleme sırasında.
her sayfana numara veya isim verirsin.
veritananına kayıt eklerken serialize();
işlem yaparken(güncellerken) unserialize(); kullanırsın.
ekleme silme güncelleme işini dizi fonksiyonlarıyla kolaylıkla halledersin.
kolay gelsin. - 07-09-2008, 02:45:06Üyeliği durdurulduörnek:
veritabanından çektin
$array = $row['asdasd'];
$dizi = is_array(unserialize($array))?unserialize($array): array();
guncelleme/ekleme
$tarih = date('d/m/Y');
if(array_key_exists($tarih,$dizi)){
foreach($dizi as $dizi2):
foreach($dizi2 as $key=>$values):
$dizi[$tarih][$key]=$values+1;
endforeach;
endforeach;
}else{
$dizi[$tarih]['sayfanumaranvs']=1;
}
kaydederken serialize($dizi);
bu kadar
hatalar olabilir öyle yazdım