Merhaba,
Öncelikle bu saçmalığı neden yapmak istediğimi belirteyim.
Yazdığım scriptte bilindik topic tablosunda onaylı, onaysız ve beklemede gibi secenekler olacak.
Ben de kullanıcıya random topic sunacağım. Eğer tek bir tabloda yaparsam bunları, sorgu önce onaylı topicleri bulacak ardından bulduğu onaylı topicler arasından seçim yapacak. Fakat 500-600 bin topic olduğunu varsayarsak sunucu iflas...
Bende sunucunun neredeyse hiç etkilenmeyeceği şu sistemi düşündüm:
Onaylı topic tablosu ve beklemede, onaysız topic tablosu ayrı olacak.
Onaylı topic tablosu içerisinde kaç satır olduğunun sorgusunu alıp onu min,max rand değerinde max'a yazacağım çıkan random değeri alıp topic idsi olarak yazdırıp o topiği çekeceğim.
Ama onaylı ve onaysız topiclerin tablosu ayrı olduğunda onaylamak istediğimde onaysız topiclerdeki satırları nasıl onaylı tablosuna taşırım?
Özetle:
Konular tek bir taloda olursa kasacağını düşündüğüm sorgu şu şekilde:
SELECT * FROM tum_konular WHERE onay = 1 ORDER BY RAND()
Çözüm yolu onaylı onaysız tabloları ayırıp şu şekilde satır sayısı bulmak:
$konusayisi=mysql_num_rows(mysql_query("SELECT * FROM onayli_konular "));
echo rand(1, $konusayisi);Sorum: onaylı, onaysız ve beklemede diye ayırdığım denk tablolardaki satırları nasıl istediğimde php ile diğer bir tabloya eski tablosundan silerek aktarırım?