Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > PHP

Veri tabanında ki aynı olan verilerin sayısını bulma

  #1  
Okunmamış 25 Mart 2019, 23:28
loss07 Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 25 Mart 2019
Yaş / Cinsiyet: 22 / Erkek
Meslek: I-T
Konum: Antalya
Ad, Soyad: Se... Uy...
Mesajlar: 40
Beğeniler: 5 / 7
Ticaret: 0, 0%
Benim veri tabanım da "oylar" isimli bir tablo var ve ben bu tablodaki anketno stunundaki değerlerden, en çok olan değerin, kaç tane olduğunu bulmak istiyorum.



Yani 1 sayısın kaçtane olduğunu 2 sayısından kaçtane olduğunu ... gibi.
Amacım 1 ve 50. satırdaki en çok aynı değere sahip olan verinin adetini bulmak.
Umarım anlatabilmişimdir.
  #2  
Okunmamış 26 Mart 2019, 02:15
emreyvz Adlı Üyenin Avatarı
.NET Core & Angular & PHP
 
Üyelik Tarihi: 19 Nisan 2016
Cinsiyet: Erkek
Meslek: Öğrenci
Ad, Soyad: Em... Ya...
Mesajlar: 562
Beğeniler: 116 / 84
Ticaret: 23, 100%
Merhaba, aşağıdaki SQL kodu ile her anketno'nun kaç adet olduğunu büyükten küçüğe sıralı olacak şekilde görebilirsiniz.

Örneğin:

anketno | sayac
2 7
3 6
1 2
4 1

SQL Kodu:

Alıntı:
SELECT anketno,COUNT(*) as sayac FROM `oylar` GROUP BY anketno ORDER BY sayac DESC

Kolay gelsin.
  #3  
Okunmamış 26 Mart 2019, 17:28
loss07 Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 25 Mart 2019
Yaş / Cinsiyet: 22 / Erkek
Meslek: I-T
Konum: Antalya
Ad, Soyad: Se... Uy...
Mesajlar: 40
Beğeniler: 5 / 7
Ticaret: 0, 0%
Çok saolun teşekkürler peki bunun sorgusunu nasıl yapmam gerek mantığını bir türlü anlayamadım
Mesela sorguyla en büyük değerden en küçük değere doğru değerleri alıp değişkene atamam gerekli.
  #4  
Okunmamış 26 Mart 2019, 22:14
emreyvz Adlı Üyenin Avatarı
.NET Core & Angular & PHP
 
Üyelik Tarihi: 19 Nisan 2016
Cinsiyet: Erkek
Meslek: Öğrenci
Ad, Soyad: Em... Ya...
Mesajlar: 562
Beğeniler: 116 / 84
Ticaret: 23, 100%
Alıntı:
loss07 Adlı Üyeden Alıntı
Çok saolun teşekkürler peki bunun sorgusunu nasıl yapmam gerek mantığını bir türlü anlayamadım
Mesela sorguyla en büyük değerden en küçük değere doğru değerleri alıp değişkene atamam gerekli.
Google'da PHP Mysql İşlemleri şeklinde arama yapıp nasıl kullanacağınızı öğrenebilirsiniz. Ekstra olarak en büyük değerden en küçüğe sıralamanıza gerek yok sorgu zaten bu işlemi de yapıyor. Sıralı bir şekilde dizi olarak döndürüyor. While ile dizi elemanlarını kullanabilirsiniz.
  #5  
Okunmamış 05 Nisan 2019, 17:06
loss07 Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 25 Mart 2019
Yaş / Cinsiyet: 22 / Erkek
Meslek: I-T
Konum: Antalya
Ad, Soyad: Se... Uy...
Mesajlar: 40
Beğeniler: 5 / 7
Ticaret: 0, 0%
İyi günler gene ben.

Şimdi yapmak istediğim olayı ben size etraflıca anlatayım siz yardımcı olmak isterseniz yazarsınız.
Benim bir anket sitem var. Bu ankete kullanılan oylar veri tabanına satır satır kayıt oluyor.
Örneğin herhangi bir ankete biri oy kullandığında "oylar" tablosuna oy kullanan kişinin bilgileri ve hangi ankete oy kullandıysa o anketin id si kayıt oluyor.
Şimdi benim amacım bu oylar tablosuna kayıt olan satırlarda örneğin ilk 50 satırda en çok hangi anketin id si varsa o anketi birinci sıraya, ikinci anketi ve üçüncü anketi çekmek istiyorum ama bir türlü beceremedim.
Elimdede şöyle mantıksız bir kod var.

PHP- Kodu:
$anketler = $mysqli->prepare("SELECT * FROM anketler WHERE gosterim='1' limit 5"); 
// anasayfaya anket çekme kriterleri.
$anketler->execute(array());
while($row=$anketler->fetch(PDO::FETCH_ASSOC)) 
{

$trend = $mysqli->prepare("SELECT anketno,COUNT(*) as sayac FROM 'oylar' GROUP BY anketno ORDER BY sayac DESC LIMIT 50"); 
// oylar tablosunda anket numarası en çok olan anketi bulma.
$trend->execute(array());
while($row=$trend->fetch(PDO::FETCH_ASSOC)) 
{


$soru = $row['anketsorusu'];
$no = $row['no'];
$kategori = $row['kategori'];
$oy1 = $row['oy1'];
$oy2 = $row['oy2'];
$oy3 = $row['oy3'];
$oy4 = $row['oy4'];
$oy5 = $row['oy5'];
$oy6 = $row['oy6'];

$t_oy = $oy1 + $oy2 + $oy3 + $oy4 + $oy5 + $oy6;

$anketsoru = strip_tags($soru) ;
$kisabaslik = mb_substr($anketsoru,0,40,'UTF-8');
?>
    <div class="anket-alani-anasayfa" >
    <div class="anket-resim-anasayfa" >
    <?php 
    
if ($kategori == Eğitim) {echo '<img src="img/kategori-egitim.fw.png" width="200" height="100"; />';}
    if (
$kategori == Spor) {echo '<img src="img/kategori-spor.fw.png" width="200" height="100"; />';}
    if (
$kategori == Siyasi) {echo '<img src="img/kategori-siyasi.fw.png" width="200" height="100"; />';}
    if (
$kategori == Eğlence) {echo '<img src="img/kategori-eglence.fw.png" width="200" height="100"; />';}
    if (
$kategori == Doğa) {echo '<img src="img/kategori-doga.fw.png" width="200" height="100"; />';}
    if (
$kategori == Ekonomi) {echo '<img src="img/kategori-ekonomi.fw.png" width="200" height="100"; />';}
    if (
$kategori == Dünya) {echo '<img src="img/kategori-dunya.fw.png" width="200" height="100"; />';}
    if (
$kategori == Teknoloji) {echo '<img src="img/kategori-teknoloji.fw.png" width="200" height="100"; />';}
    if (
$kategori == Oyun) {echo '<img src="img/kategori-oyun.fw.png" width="200" height="100"; />';}
    if (
$kategori == Diğer) {echo '<img src="img/kategori-diger.fw.png" width="200" height="100"; />';}
    echo 
$trendanketler;
    
?>
    </div>
    <div class="anket-baslik" id="anket-baslik">
    <form method="post" action="anket-oylama.php" >
    <input type="hidden" name="no" value='.$no.' >  
    <div class="kat"> <a href="anket-oylama.php?no=<?php echo''.$row["no"].'';?>">
    <?php if (strlen($soru) > 40) {echo ''.$kisabaslik.'...';} elseif (strlen($soru) < 40) {echo ''.$kisabaslik.'';}  ?>
    </a><div class="anasayfa-oy">Oylama:&nbsp;<?php echo $t_oy;?>&nbsp;&nbsp;<?php echo $kategori;?></div></div></div>
    </form>
    </div>
}
 }
Kısaca anlatmak gerekirse oylar tablosunun ilk 50 satırında en çok bulunan 5 anketin id sini alıp bu anketler tablosundan bu anketleri çekmem gerekiyor.
Yada bir alternatif fikriniz varsa çok iyi olur. Teşekkürler.
Konu loss07 tarafından (05 Nisan 2019, 17:09 ) değiştirilmiştir.
Cevap Yaz Favorilerime Ekle


Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > PHP


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 13:56.