Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » ://www » Rastgele veri almada kayıtlı olmayan id'leri atlama


://www Web tasarımı ve internet ile ilgili olarak karşılaştığınız problemleri ve merak ettiklerinizi burada tartışabilirsiniz.

Yanıt
 
LinkBack Seçenekler
Old 15.07.2007   #1 (permalink)
deli_mavi
 
Üyelik Tarihi: 25.04.2007
Yer: Samsun
Yaş: 27
Mesaj: 19
Rastgele veri almada kayıtlı olmayan id'leri atlama

Veritabanından rastgele kayıt alma olayı herkesin malumu randomize ile yapılan sayı atamasının VT'den karşılığını bulup çağırmaktır.
Diyelimki 1000 tane kayıda dahip VT'mizden 900 tanesini sildik.Elde edilen random sayının karşılığı %90 veritabanında olmayacak ve ekrana "kayıt bulunamadı" gibi basşt bir ileti gelecek.

Sorum şu: Bu iletiyi almadan silinmiş kayıt numaralarını nasıl bertaraf (devre dışı) edebiliriz?
Saygılar...
deli_mavi şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 15.07.2007   #2 (permalink)
zapotka
 
zapotka's Avatar
 
Üyelik Tarihi: 31.05.2006
Yer: Edirne
Mesaj: 50
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

Rasgele seçimi SQL satırından yapmak sorunu çözecektir.

Kod:
select * from tablo WHERE gun<'$gecikme' order by rand() limit 1
gibi.
__________________
sinema oyunları - movie games - çerçeveler
zapotka şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 15.07.2007   #3 (permalink)
deli_mavi
 
Üyelik Tarihi: 25.04.2007
Yer: Samsun
Yaş: 27
Mesaj: 19
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

SQL cümleciği ile nasıl yapılır,krgulayamadım. (ASP)
deli_mavi şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 16.07.2007   #4 (permalink)
pppzze
 
Üyelik Tarihi: 10.08.2006
Yer: Istanbul
Mesaj: 84
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

SELECT * FROM tablo ORDER BY newid()

Random kayıt getirecektir sanırım
__________________
code for food
pppzze şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 16.07.2007   #5 (permalink)
absconder
 
absconder's Avatar
 
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,902
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

Alıntı:
pppzze tarafından gönderilen mesaj: Mesajı Görüntüle
SELECT * FROM tablo ORDER BY newid()

Random kayıt getirecektir sanırım
hiç kullanmadım, ancak verileri rastgele sıralamak için oldukça hızlı bir yöntem olarak biliyorum.

başka bir yöntem ise, istenilen sıraya göre geçici bir tabloya alıp oradan rastgele sayıya denk gelecek kayıdı geri döndermek olabilir.

tabi bütün bu yazılanlar SQL server için geçerli seçenekler.
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
absconder şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 17.07.2007   #6 (permalink)
pppzze
 
Üyelik Tarihi: 10.08.2006
Yer: Istanbul
Mesaj: 84
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

Alıntı:
absconder tarafından gönderilen mesaj: Mesajı Görüntüle
hiç kullanmadım, ancak verileri rastgele sıralamak için oldukça hızlı bir yöntem olarak biliyorum.

başka bir yöntem ise, istenilen sıraya göre geçici bir tabloya alıp oradan rastgele sayıya denk gelecek kayıdı geri döndermek olabilir.

tabi bütün bu yazılanlar SQL server için geçerli seçenekler.
slm eğer stored procedure kullanarka alıyorsan random kayıtlarda çok iyi bir performansı vardır. Denemeni tavsiye ederim. Her defasında create table drop table işlemleri yapmak yerine T-SQL kullanmak bana daha mantıklı geliyor.
__________________
code for food
pppzze şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 17.07.2007   #7 (permalink)
kArA
 
Üyelik Tarihi: 03.08.2000
Yer: İstanbul
Mesaj: 38
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

Bahsettiğiniz konu ile ilgili bir makaleme buraya tıklayarak ulaşabilirsiniz. Makalede PHP+MySQL ikilisi ile optimum bir şekilde nasıl rastgele kayıt döndürebileceğinizi gösteren bir fonksiyon da mevcut.

İyi çalışmalar
__________________
kara
http://www.karalamalar.net
kArA şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 17.07.2007   #8 (permalink)
deli_mavi
 
Üyelik Tarihi: 25.04.2007
Yer: Samsun
Yaş: 27
Mesaj: 19
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

PHP değil ASP kodlama tercihimdir.
deli_mavi şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 17.07.2007   #9 (permalink)
teknoemin
 
Üyelik Tarihi: 07.01.2007
Yer: Adana
Yaş: 21
Mesaj: 103
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

Eğer sorunu tam olarka anladıysam silinen kayıtlar yerine kayıt bulunamadı yazmasını istemiyorsunuz ? Umarım doğru anlamışımdır. O halde randomdan çıkan sayı ile veritabanından gelen id ler karşılaştırılır ver eğer çıkan sayıya karşılık gelen bir sayı yoksa tekrar random yaptırılabilir bulana kadar.
teknoemin şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 18.07.2007   #10 (permalink)
kArA
 
Üyelik Tarihi: 03.08.2000
Yer: İstanbul
Mesaj: 38
Re: Rastgele veri almada kayıtlı olmayan id'leri atlama

Alıntı:
teknoemin tarafından gönderilen mesaj: Mesajı Görüntüle
Eğer sorunu tam olarka anladıysam silinen kayıtlar yerine kayıt bulunamadı yazmasını istemiyorsunuz ? Umarım doğru anlamışımdır. O halde randomdan çıkan sayı ile veritabanından gelen id ler karşılaştırılır ver eğer çıkan sayıya karşılık gelen bir sayı yoksa tekrar random yaptırılabilir bulana kadar.
Kayıtların %90'ının silindiğinden bahsedilmiş. Dolayısıyla yukarıdaki yöntem hiç verimli bir yöntem olmayacaktır. Bir kayıt döndürmek için yüzlerce sorgu çalıştırmak gerekebilir.

En iyisi SQL ile rastgele satır döndürmek olacaktır. Çok fazla kayıt barındıran tablolarda bu işlem de maliyetli olacaktır. Rastgele üretilen sütunda index olmayacağından ve sorgu bu sütun üzerinden çalışacağından sürekli kullanılan bir SQL cümlesi ise sunucuya fark edilebilir bir yük bindirecektir.

Yazımda bahsettiğim fonksiyonun yaptığı işlemi temel olarak anlatayım, siz ASP ile kodlayarak kullanırsınız. Bu fonksiyonla en az 2 en fazla 3 basit sorgu ile rastgele bir satır seçebilirsiniz.
  1. Tablodaki en yüksek id'yi seçin (SELECT max(id) FROM tablo gibi basit bir SQL yeterli olur.)
  2. bir (1) ile en yüksek id arasında rastgele bir sayı seçin (randomize ile)
  3. id'si seçtiğiniz rastgele sayıdan büyük ve eşit kayıtlardan birinciyi sorgulayın (SELECT TOP 1 * FROM tablo WHERE id >= rastgele_sayi ORDER BY id ASC vb bir SQL ile)
  4. Bu sorgu kayıt döndürürse iki basit SQL ile index olan sütununuz üzerinden rastgele bir satır çağırmış olursunuz.
  5. Eğer sorgu kayıt döndürmezse son bir sorgu ile kesin olarak rastgele satırınızı çağırabilirsiniz. (SELECT TOP 1 * FROM tablo where id < rastgele_sayi ORDER BY id DESC)

ASP ile uzun süredir çalışmadığım ve bir test ortamım olmadığı için malesef fonksiyonu yazıp gönderemiyorum. Umarım yukarıdaki maddeleri takip ederek kendiniz yazabilirsiniz. Ben de bu mantığı buradan öğrenmiştim.
__________________
kara
http://www.karalamalar.net
kArA şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Yanıt

Etiketler
rastgele , veri , almada , kayitli , olmayan , idleri , atlama



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC5

Arayüz/Skin "Güneş" © www.zoque.com /