-
Üyelik
16.06.2018
-
Yaş/Cinsiyet
23 / E
-
Meslek
Öğrenci
-
Konum
İstanbul Anadolu
-
Ad Soyad
Y** S**
-
Mesajlar
77
-
Beğeniler
7 / 9
-
Ticaret
0, (%0)
"SELECT * FROM xxx ORDER BY xxx desc limit 0,5"
Bu şekilde ypabilirsin tabloyu ilk xxx e ikinci xxx e de sıralamk istediğin veriyi yaz daah sonra veritabanından bu şekilde çek
-
Ü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)
select tag_id, count(*) from *table* group by tag_id order by count(*) desc limit 0,5
şöyle bir şey deneyin hocam, bakalım nasıl bir sonuç alacaksınız ?
-
Ü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)
*table* yazan yere tablo adını yazıcaksın hocam
1 kişi bu mesajı beğendi.
-
Ü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)
öncelikle sql injection saldırılarını önlemek için prepare execute yapısnı kullanman lazım hocam.
eğer ihtiyacın yoksa count(*) seçmeden tag_id leri çekelim, varsa gelen arraydan tag_idleri alman lazım.
daha sonra şöyle çekicez.
$sorgu2 = db()->prepare("select * from tags where id IN (?,?,?,?,?) ");
$db->execute($idler) //$idler = tag id lerinden oluşan array
bir query oluştururken her zaman sonucu daha az query ile elde etmeye çalşalım hocam. database ile ne kadar az ilişki kurarsak yüksek trafik alan sitelerde o kadar rahat ederiz.