-
Üyelik
10.11.2013
-
Yaş/Cinsiyet
27 / E
-
Meslek
Front-End Developer
-
Konum
Adana
-
Ad Soyad
S** D**
-
Mesajlar
1345
-
Beğeniler
234 / 472
-
Ticaret
12, (%100)
Ne yapmak istediğinizi anlasam yardımcı olacağım.
sefacandemir.com.tr
-
Üyelik
01.02.2018
-
Yaş/Cinsiyet
26 / E
-
Meslek
Yazılım öğrencisi
-
Konum
Antalya
-
Ad Soyad
O** Ş**
-
Mesajlar
603
-
Beğeniler
25 / 155
-
Ticaret
2, (%100)
Anladığım kadarıyla bişeyler karaladım ama :)
$sql = mysql_query("select sutun_adi from tablo_adi");
while($sonuc = mysql_fetch_row($sql) ){
echo $sonuc[0]; // birinci değer sabit
$oktay = rand(1,3); // $a değişkenine her döngüde 1 ile 3 arasında dönüyor eğer senin değerin 1 ila 3'ten fazla ile 3' yerine count ile veriyi saydırabilir değişkene atayıp 3'ün yerine yazabilirsin verdiğin sayıya göre değer döndürecektir.
echo $sonuc[$oktay];
}
// eğer sütunda 3'den fazla satır varsa döngüyü 3 ile sınırlandırmalısın.
Eğitimin pahalı olduğunu düşünüyorsanız, cehaletin bedelini hesaplayın.
-
Üyelik
21.09.2016
-
Yaş/Cinsiyet
31 / E
-
Meslek
Full Stack Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
H** T**
-
Mesajlar
1155
-
Beğeniler
99 / 327
-
Ticaret
3, (%100)
hocam daha açık bir şekilde yazar mısınız
-
Üyelik
12.05.2015
-
Yaş/Cinsiyet
34 / E
-
Meslek
Software Developer, SEO
-
Konum
İstanbul Avrupa
-
Ad Soyad
A** S**
-
Mesajlar
197
-
Beğeniler
81 / 28
-
Ticaret
5, (%100)
srhtycl Tam dişime göre operatör bulunmasına çok sevindim. Belirttiğim gibi tamamen işimi görecek bir sorgu oldu.
Cevaplayan herkese teşekkür ederim, serhat beye ayrıca.
https://ahmetonursolmaz.com.tr
Founder of Leadfure
-
Üyelik
12.05.2015
-
Yaş/Cinsiyet
34 / E
-
Meslek
Software Developer, SEO
-
Konum
İstanbul Avrupa
-
Ad Soyad
A** S**
-
Mesajlar
197
-
Beğeniler
81 / 28
-
Ticaret
5, (%100)
srhtycl Bir sorun daha var yalnız. Toplamda gelen 4 değerde birbiri arasında rastgele sırayla listelenmesi gerekiyor.
https://ahmetonursolmaz.com.tr
Founder of Leadfure
-
Üyelik
12.05.2015
-
Yaş/Cinsiyet
34 / E
-
Meslek
Software Developer, SEO
-
Konum
İstanbul Avrupa
-
Ad Soyad
A** S**
-
Mesajlar
197
-
Beğeniler
81 / 28
-
Ticaret
5, (%100)
Şuan UNION ile birlikte 4 değer çekiliyor. Biri sabit, diğer 3'ü tablodan rastgele sırayla listelenerek ve rastgele geliyor.
Şimdi yapmam gereken durum. Bu sabit değer ve diğer 3 değeri aralarında rastgele listelemek.
Yanı sabit değere A diyelim. Rastgele değerlerde B C ve D olsun.
A B C D - A D C B - A C D B şeklinde değil de A'da bu listelenme içinde farklı yerlerde yer alsın.
Yani B C D A - C A D B şekinde de.
https://ahmetonursolmaz.com.tr
Founder of Leadfure
-
Üyelik
12.05.2015
-
Yaş/Cinsiyet
34 / E
-
Meslek
Software Developer, SEO
-
Konum
İstanbul Avrupa
-
Ad Soyad
A** S**
-
Mesajlar
197
-
Beğeniler
81 / 28
-
Ticaret
5, (%100)
Tamamdır dostlar son problemi de giderdim. Çözümüm şu şekilde. Belki daha sonraları başka arkadaşların da işini görür.
foreach ($baglanti->query("
(SELECT * from table_name where coloum_name in('$sabitdeger'))
UNION
(SELECT * from table_name where coloum_name in ('$degerler') order by RAND() LIMIT 3) order by RAND()
")
1 kişi bu mesajı beğendi.
https://ahmetonursolmaz.com.tr
Founder of Leadfure
-
Üyelik
01.02.2018
-
Yaş/Cinsiyet
26 / E
-
Meslek
Yazılım öğrencisi
-
Konum
Antalya
-
Ad Soyad
O** Ş**
-
Mesajlar
603
-
Beğeniler
25 / 155
-
Ticaret
2, (%100)
srhtycl adlı üyeden alıntı
Doğru anladıysam aynı tablodan 4 satır veri döndürmek istiyorsunuz. Bu 4 veriden birinde sütun değerini siz veriyorsunuz ve ona göre satır gelmesini istiyorsunuz. Diğer 3 satırı ise girilen değerlere göre random getirmeyi istiyorsunuz.
(SELECT * FROM tableName WHERE columnName = $deger1 LIMIT 1)
UNION
(SELECT * FROM tableName WHERE columnName = $deger2 ORDER BY RAND() LIMIT 3)
Yazdığım sorgu max 4 satır döndürür.
UNION'dan öncesi sabit değeriniz içindir. Örnek vermek gerekirse "ad" sütununda "ahmet" değerini aratıp varsa o satırı çekmiş olursunuz.
UNION'dan sonrası ise max 3 değer döndürür. Örnek vermek gerekirse "ad" sütunundaki değeri "mehmet" olan satırlardan 3 tane random satır döndürmeye çalışır.
Yalnız önerdiğiniz çözüm çok sıkıntılı olmuş. 1 Milyon satırı olan tablonun gerçekten tamamını çekmek istemezsiniz. Nacizane önerim, söz konusu yapısal bir veritabanı olduğunda olabildiğince indexlerle çalışmanızdır.
Teşekkürler
srhtycl sql tarafında biraz zayıfım geliştirmeye devam :)
Kimse cevap yazmayınca bişeyler karalamak istedim :)
2 kişi bu mesajı beğendi.
Eğitimin pahalı olduğunu düşünüyorsanız, cehaletin bedelini hesaplayın.