Php ile Mysql Veritabanından Rasgele Veri Çekmek
Pazartesi, Ekim 27, 2008 4:40 | Görüntülenme: 502 | Yazar: Sercan AydınPhp’yi kullanarak kendi oluşturduğumuz veritabanında rasgele veri çekilebilir. Bu şuanda bazı sitelerde iyice popülerleşti. Rasgele yazılar, rasgele resimler, rasgele sözler vb gibi. Bizde bu makalemizde Php’yi kullanarak MySql veritabanımızdan rasgele olarak nasıl veri çekerek sayfamızda gösterebileceğimizden bahsedeceğiz.
Gelelim bu önemli ve güzel konumuza. İstediğimiz olayı yanı Php ile MySql’den ragele veri çekme olayını aşağıdaki kodlar sağlamaktadır. Gerekli açıklamalar kodlar arasında yapıldığı için burada açıklama yazmıyoruz. Buyrun…
<?php
do{
# Veritabanımızdaki tablonun toplam satır sayısını alıyoruz
$toplam = @mysql_num_rows(mysql_query(”SELECT * FROM tabloadimiz”));
# Ve rand(); fonksiyonu ile rasgele bir sayı üreteceğiz.Burada rand(1, $toplam); parantez içindeki değerlerin 1 ile $toplam satır arasında bir sayı üretmesini söyledik ve bunu $ID değişkenine atatık
$ID = rand(1, $toplam);
# Veritabanımızda $ID değişkeninin sorguluyoruz
$SQL = @mysql_query(”SELECT * FROM tabloadimiz where ID=’$ID’”);
# Burada mysql_num_rows sorgusu yapıyoruz eğer $SQL sorgumuzda ID miz değer almışsa mysql_num_rows fonksiyonumuz 1 değerini alacaktır.Eğer ki yoksa 0 değerini alacaktır.Fakat biz burada < 1 diye bir değer atatık.Bu demek oluyor ki sonucu alana kadar sorgumuz dönecektir
}while(@mysql_num_rows($SQL) < 1);
# Sonucumuzu burada alıyoruz
$echo = @mysql_num_rows($SQL);
# Ve değişkenlerimize atıyoruz
$atanacak_deger = $yaz["veritabanindaki_hucre_ismi"];
print $atanacak_deger;?>
“Php ile Mysql Veritabanından Rasgele Veri Çekmek” yazısı için 9 Yorum Yapılmış
Yazıyı Yorumlayabilirsiniz
Sitemizde sizler için her geçen gün daha kaliteli yazılar hazırlanıp yayınlanmaktadır. Size daha kaliteli içerik sunmamız için lütfen iyi ya da kötü düşüncelerinizi bizimle paylaşınız.

ibrahim soylu demiş ki:
Ekim 27th, 2008 saat 11:41
“SELECT * FROM tabloadimiz order by rand() limit 1″ şeklinde yapmanız daha doğru olacaktır. Böylecek tek sorgu ile halledebilirsiniz. İstenirse rastgele 10 kayıt çekilebilir. bunun için sorguyu limit 10 olarak değiştirmeniz yeterli olacaktır.
Sercan Aydın demiş ki:
Ekim 27th, 2008 saat 18:32
Tabi dediğiniz gibide olabilir fakat rand fonksiyonu tek başına kullanıldığında rastgele sayılar çıkaracaktır.Buda ID si olmayan bir sayıya geldimi sorun çıkaracaktır .
özgün makale demiş ki:
Ekim 28th, 2008 saat 02:43
nerelerde kullanilir peki ornek verebilir misiniz?
Ahmet Ertürk demiş ki:
Ekim 28th, 2008 saat 03:11
@özgün makale
Php ile bir blog tarzı bir sistem hazırladığınıza varsayarsak blogunuzdan rasgele 10 tane yazıyı ziyaretçilerinize sunmak için kullanabilirsiniz.
Sercan Aydın demiş ki:
Ekim 28th, 2008 saat 03:53
Rasgele resim olabilir, rasgele atasözü, rasgele yazılar vs… Bir çok yerde kullanabilirsiniz
özgün makale demiş ki:
Ekim 28th, 2008 saat 14:27
Anladım, teşekkürler
osman ertuğrul demiş ki:
Kasım 28th, 2008 saat 17:14
rand(1,$toplam); yazıyor ama burada diyelimki 1. den 72. id kadar kayıt var fakat sadece 13. id deki veri silindiğini farz edeleim. rand ile veri çekerken problem olmaz mı?
Özgür Kuru demiş ki:
Aralık 12th, 2008 saat 14:49
$yaz["veritabanindaki_hucre_ismi"]; şeklinde bir satır koymuşsunuz fakat
kodlar arasında $yaz =mysql_fetch_assoc(..)
şeklinde bir kod yok. bu $yaz["veritabanindaki_hucre_ismi"]; hangi sorgu sonucu hücre ismini alacak?
Murat Kutay Özdemir demiş ki:
Ocak 5th, 2009 saat 05:05
Merhaba bu ornek le ilgili cok acil bir sıkıntım var ; isimler tablomda “bay” ,”bayan” alanlarından rasgele kelime cagırmam gerekiyor.
bayan adı : $bayan , erkek adı : $bay gibi
veri tabanımı olusturdum isim ekleyip silebiliyor duzenleye biliyorum ama bir turlu rasgele isim getiremedim çalışan bi örnek yaparsanız cok sevinirim