İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Rand ile alınan verilere alternatif var mı ?

Invictus

0
İyinet Üyesi
Katılım
4 Şubat 2010
Mesajlar
328
Reaction score
8
Konum
istanbul
Sanıyorum o tür pek de zor olmaz. Devamlı sorgu yapıp alınan veriyi dosya içine kaydettikten sonra ilgili bölümde göstermek. Şimdilik 3000 'e yakın sayfa var ve her birinin ayrı random üretmesi şart. Bunu nasıl sağlayabilirim file cache sistemi ile ?

mesela 3000 bin video ve 100.000 etiket olan bir siteyi ele alalım;
her video sayfasında solda 100 tane rastgele etiket gözükecekse eğer video izleme sayfasının file cache için kodu yazarsın/koyarsın. her video için sayfaya girildiğinde 1 kere 100 tane etiket random olarak çekilir ve o sayfanın tümü cachelenip cache klasörüne kaydedilir. (her sayfada farklı 100 etiket olmuş oldu). belirttiğin süre boyunca da cache dosyasından okur. mesela cache dosyasının oluşturulma süresi 1 saati geçmişse onu silip yeniden etiketleri random olarak çekersin ve cache dosyasını yeniden oluşturursun. bu şekilde 1M hitin de olsa her video sayfası için sadece 1 saat aralıklarla random sorgu olur.
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
Invictus evet detaylı bir şekilde anlatmışsın sağolasın. Bu sistemi biraz daha değiştirip kelimeleri parçalara ayırdıktan sonra her sayfa için random kelimeler üretebilirim bu şekilde.
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
metadige Verdiğin bu örneği; içinde 150 bin kayıt olan tabloda yeni deneme şansım oldu ve çok hızlı bir şekilde çalışıyor teşekkürler.

O zaman php ile random 15 sayı seçip sqlden 10 tanesini almak daha mantıklı olabilir gibi. Örneğin:

PHP:
<?php

$al = mysql_query('select count(sutun_id) as say from tablon');
$kac = mysql_fetch_assoc($al);
$kac = $kac['say'];
for($i=0;$i<15;$i++){
$random[] = rand(1,$kac); 
}
sort($random,SORT_NUMERIC );
$random = implode(',',$random);
$query = 'select * from tablon where sutun_id in ('.$random.') limit 10';

?>
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
Bu kodu kullanmak isteyenler için bir ipucu. Kod genelde aynı bölümdeki kayıtları gösteriyor. Farklı kayıtları göstermesi için for ve rand kısımlarında değişiklik yapmak gerekiyor.
 

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

seo ajansı , sosyal medya yönetimi
Üst