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
  OrangeUI çoklu dil sorunu nguzeller 1 1.257 11-07-2023, Saat: 12:50
Son Yorum: delphiman
  Sadece Son Kayıtları Listeleme gonulali 4 823 09-05-2023, Saat: 17:01
Son Yorum: gonulali
  İziBiz eFatura Listeleme MuhammedYasir 11 2.994 30-03-2023, Saat: 11:19
Son Yorum: enigma
  Küsürlü alan listeleme Altıner 4 978 05-03-2023, Saat: 22:42
Son Yorum: delphiX14
  Comboboxlarda il ve ilçe listeleme senihergordugumde 5 1.052 03-03-2023, Saat: 14:29
Son Yorum: sabanakman



Konuyu Okuyanlar: 1 Ziyaretçi