PDA

Orijinalini görmek için tıklayınız : PHP ile veritabanın'dan rastgele veri çekmek


tepisenordek
08-11-2007, 21:11 PM
Şimdi sizlere veritabanından nasıl rastgele veri çekilir bunu göstereceğim başlayalım:

İlk önce veritabanı tablomuzu tanıtalım klasik olarak,

Veritabani Tablo Yapisi:
SQL:

1.
2. CREATE DATABASE stok1;
3.
4. CREATE TABLE urunler(
5.
6. urunadi VARCHAR(250),
7.
8. indirimde CHAR(1),
9.
10. );



Program Yapisi:

PHP:

1.
2. <?php
3.
4.
5. $sunucu = 'localhost';
6.
7. $kullanici = 'root';
8.
9. $sifre = '*****';
10.
11. $veritabaniadi= 'stok1';
12.
13.
14. mysql_connect("$sunucu","$kullanici","$sifre");
15.
16. mysql_select_db("$veritabaniadi");
17.
18.
19. $tablo = mysql_query("SELECT * FROM urunler WHERE indirimde='1'");
20.
21. //Toplam kayit sayisini öğrenelim
22.
23. $toplamkayit = mysql_num_rows($tablo);
24.
25. echo "Toplam kayit sayisi : $toplamkayit<br>";
26.
27. //range ile kayıtları sürekli döndürelim...
28.
29.
30. $donen = range (1,$toplamkayit);
31.
32.
33. //Dönen kayıtları microtime zamanı ile hareketlendirelim
34.
35. srand ((double)microtime()*1000000);
36.
37. //Buraya kadar herhalde okey
38.
39. shuffle ($donen);
40.
41.
42. /*
43.
44. * Not : Geldik dizi değişkenine burası önemli ne kadar kayıt gözükeceğini
45.
46. * buradan belirteceksiniz unutmayın array [0] dan başlar.!
47.
48. */
49.
50.
51. /*
52.
53. * Ben 2 adet belirledim
54.
55. * Olay buradan başlar ve biter
56.
57. */
58.
59.
60. $saban = array(
61.
62. $donen[0],
63.
64. $donen[1],
65.
66. );
67.
68.
69. /*
70.
71. * Burayı şimdi while i list e sokuyoruz ve $a değişkenine hangi sutundan
72.
73. * geleceğini belirtiyoruz.!
74.
75. */
76.
77.
78. //$saban dizisine dikkat buraya donen deseydik tümü dönecekti
79.
80. while (list (, $a) = each ($saban)) {
81.
82. //mysql_result ile veritabanı tablosundan adi ndan çekiyoruz
83.
84. $adi=@mysql_result($tablo,$a,"adi");
85.
86.
87. if ($adi=="") {
88.
89. // Şimdi geldik kuru nun faydalarına burada bu bir boşluk yaratıyo
90.
91. // bunun için if kullandım
92.
93. // buda gereksiz zamandan kaçmak için alt satır verilerinizi rastgele döndürür.!
94.
95. } else {
96.
97. echo "$adi<br>";
98.
99. }
100.
101. }
102.
103. ?>