Merhaba arkadaşlar
Hemen konuya girip özetle anlatıyım..
Elimde bir sql tablosu var..Fakat bu tabloda 400 bine yakın özel olarak botla çekilmiş video var..
Scripti kendim yazdım fakat kafama takılan bir konuda tıkandım kaldım..
Şimdi 400 k sıralı id var diyelim..Ve bir taraftan da içerik geliyor..Yani id sayısı site yayındayken devam ediyor..
Ama benim istediğim olaysa şöyle..Şimdi idler sırasıyla gelmesine rağmen ben 1. id den 400.000 id ye kadar ve daha sonra eklenenlere kadar zaman aralıklarıyla yayınlamak istiyorum..
Yani wordpressdeki mantığı publish/draft olarak geçiyordu..Wp mantığıyla anlatıcak olursak 400k videoyu draft yani taslak olarak görmesini (daha sonra eklenenleride) istiyorum..Ve zaman aralığıyla (5 Dakika/Yarım saat gibi misal) id sırasıyla yayınlanmasını istiyorum..
Bu konuda sanırsam cron kullanabiliriz ama nasıl bir mantıkla yazılabilir sizce??
Zamanlı İçerik Yayınlamak
4
●566
- 27-08-2010, 06:24:46Şöyle yapılabilir gibi:
Bir php dosyası yazarız. Bunu crona ekleriz istediğimiz zaman aralığıyla belirlediğimiz videoları yayına sokarız ve en son yayına giren videonun idsini veri tabanında saklarız.
Misal veri tabanın ayarlar tablosunda sonkalan adında bir sutunumuz olsun. Değerini 0 olarak girelim ilk etapta.
Daha sonra kodlarımız bu mantıkta olabilir
<?php $sayi = 10; //Her çalıştığında yayına alacağı video sayisi $kac = mysql_fetch_array(mysql_query('select deger deger from ayarlar where ayaradi="sonkalan"')); $kac = $kac['deger']; $query = mysql_query("select * from videolar where durum='taslak' and id>$sonkalan order by id asc limit 0,$sayi"); while($s = mysql_fetch_array($query)): mysql_query("update videolar set durum='yayin' where id='".$s['id']."'"); mysql_query("update ayarlar set deger='".$s['id']."' where ayaradi='sonkalan'"); endwhile; ?> - 27-08-2010, 06:32:59Teşekkürler ilyas.Bende date fonksiyonlarıyla uğraşıyordum..Gözler gitti artık bunu yarın sql tablosunu localde alıp deniyim bir.ilyasbat adlı üyeden alıntı: mesajı görüntüle
- 27-08-2010, 06:34:09Rica ederim kolay gelsin...anarschi adlı üyeden alıntı: mesajı görüntüle
- 27-08-2010, 07:16:37Merhaba
Bence kendine bir time(); başlangıç değeri edin.
Mesela her gün yeni 20 video gözüksün, ve başlangıç time değerimiz atıyorum 100000 olsun,
Şuanki time(); - 100000 = 86400
1 Gün 86400 saniye olduğundan, 86400/86400 = 1
Yani 1 gün olmuş, 1 gün * 20(gün başına göstermek istediğin video sayısı) = 20
id'den 1'den 20'ye kadar çekip yayınlayabilirsin.
Aklıma böyle bişey geldi sql sorgusu kullanmadan
Ama her seferinde de bunu ziyaretçiye döndürtmen lazım, hangisi sana daha kârlı gelir bilmiyorum..
Kolay Gelsin