Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Listeleme çoklu ve random
#1
Merhaba;

Mysql db'den aşağıdaki kodlarla verileri listeliyorum. Seçtiğim bir üründen sadece bir tane rast gele gelmesini nasıl sağlarım?

       


   FDQ.Connection := FDConnection1;
          FDQ.Active := False;
          FDQ.Close;
          FDQ.SQL.Clear;
          FDQ.SQL.Add('Select * From Urunler');
          FDQ.SQL.Add('Where Durum Like ' + QuotedStr('%Yeni%'));
          FDQ.SQL.Add('And(Urunname Like ' + QuotedStr('%' + 'Kurşun Kalem' + '%'));
          FDQ.SQL.Add('Or Urunname Like ' + QuotedStr('%' + 'Tükenmez kalem' + '%'));
          FDQ.SQL.Add('Or Urunname Like ' + QuotedStr('%' + 'Dolma Kalem' + '%'));
          FDQ.SQL.Add(')');
          FDQ.SQL.Add('Order By Must Asc');
          FDQ.Prepared := True;
          FDQ.Open;
          while Not FDQ.Eof do
          begin
          LItem := ListView1.Items.Add;
          LItem.Data['Urunname'] := TrimLeft(FDQ.FieldByName('Urunname').AsString);
Cevapla
#2
LIMIT ile mysql'de ilk kaç kaydı çekeceğinizi belirttiğinizi biliyorsunuzdur. 

ORDER BY RAND() diyerek rastgele sıralı tablodan bir de limit koyup ilk kaydı seçmeyi denemek isteyebilirsiniz.

bkz. bu link
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#3
(20-07-2020, Saat: 23:46)mrmarman Adlı Kullanıcıdan Alıntı: LIMIT ile mysql'de ilk kaç kaydı çekeceğinizi belirttiğinizi biliyorsunuzdur. 

ORDER BY RAND() diyerek rastgele sıralı tablodan bir de limit koyup ilk kaydı seçmeyi denemek isteyebilirsiniz.

bkz. bu link


Üstat linke baktım fakat aynı kod içinde listelemeyi yapamadım, ya tüm listeyi alabiliyorum yada sadece rast gele birini alabildim.

Aynı db'de olan kayıtlar
Kurşun Kalem tümü listelenecek
Tükenmez kalem tümü listelenecek
Dolma Kalem rast gele biri listelenecek
Cevapla
#4
(21-07-2020, Saat: 14:04)ekank Adlı Kullanıcıdan Alıntı:
(20-07-2020, Saat: 23:46)mrmarman Adlı Kullanıcıdan Alıntı: LIMIT ile mysql'de ilk kaç kaydı çekeceğinizi belirttiğinizi biliyorsunuzdur. 

ORDER BY RAND() diyerek rastgele sıralı tablodan bir de limit koyup ilk kaydı seçmeyi denemek isteyebilirsiniz.

bkz. bu link


Üstat linke baktım fakat aynı kod içinde listelemeyi yapamadım, ya tüm listeyi alabiliyorum yada sadece rast gele birini alabildim.

Aynı db'de olan kayıtlar
Kurşun Kalem tümü listelenecek
Tükenmez kalem tümü listelenecek
Dolma Kalem rast gele biri listelenecek

Merhabalar,

MySQL Kurulum olmadığı için online bir site üzerinden örnek yaptım.
Deneyin lütfen.


create table Test(id integer, title varchar(100));

insert into Test(id, title) values(1, "Hello1");
insert into Test(id, title) values(2, "Hello2");
insert into Test(id, title) values(3, "Hello3");
insert into Test(id, title) values(4, "Hello4");
insert into Test(id, title) values(5, "Hello5");
insert into Test(id, title) values(6, "Hello6");

SELECT id, title FROM Test 
ORDER BY rand() 
LIMIT 1

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Krityere göre listeleme - çözüldü ekank 3 337 16-07-2020, Saat: 22:05
Son Yorum: ekank
  OrangeUI çoklu dil sorunu nguzeller 0 268 17-05-2020, Saat: 12:15
Son Yorum: nguzeller
  ÇÖZÜLDÜ-random un istediğimz sayıdan başlaması mümkün mü? sadikacar60 7 995 16-03-2020, Saat: 23:31
Son Yorum: sadikacar60
  arkadaşlar 192.168.2.89 ip deki bir klasör içindeki dosyaları listeleme nasıl? sadikacar60 9 1.290 21-02-2020, Saat: 23:31
Son Yorum: mustafaozpinar
  Birden fazla alanda arama ve listeleme Kerembacioglu 4 1.080 28-12-2019, Saat: 15:27
Son Yorum: m_ekici



Konuyu Okuyanlar: 1 Ziyaretçi