• 17-01-2021, 15:44:45
    #1
    Üyeliği durduruldu
    Selam arkadaşlar,

    php pdo ile örnek veriyorum isim tablosunda kaç tane ahmet ismi kaç tane mehmet ismi kaç tane ayşe ismi var bunu nasıl saydırabilirim tabloda ki verileri çekiyorum kaç adet olduğunu toplamını buluyorum ama hangi isimden kaç tane olduğunu nasıl alabilirim bu isimlere göre popülerlik oranı vericem ama kafamda durdu nasıl yapabilirim ?
  • 17-01-2021, 15:49:37
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    $control = $db->prepare(" SELECT * FROM users WHERE name=?")
    $control->execute(array('ahmet'))
    $rowCount = $control->rowCount()
    Burada rowcount kaç tane ahmet olduğunu söyler.
    Mobilden yazdım hatalı olabilir syntaxlar
  • 17-01-2021, 15:54:46
    #3
    yukaridaki arkadasin dedigi de olur ama ondan daha dogrusu (tum veritabanlariyla uyum icin, orn sqlite ile dogru sonuc vermez) su sekilde kullanilmali:

    $control = $db->prepare(" SELECT count(*) FROM users WHERE name=?");
    $control->execute(array('ahmet'));
    $rowCount = $control->fetchColumn();
  • 17-01-2021, 15:55:46
    #4
    Select COUNT(*) from kullanicilar where kullanici_adi = "Mahmut"
  • 17-01-2021, 15:56:16
    #5
    rowCount işlemi SELECT sorgularında önerilmiyor ve bazen hatalı çalışabiliyor. Şöyle bir deneme yapabilirsin:

    $response = $db->query("SELECT COUNT(*) FROM tablo WHERE isim=?")->execute(["Webtroloji"])->fetchColumn();
    
    echo $response;
  • 17-01-2021, 16:08:44
    #6
    Üyeliği durduruldu
    aenxious adlı üyeden alıntı: mesajı görüntüle
    yukaridaki arkadasin dedigi de olur ama ondan daha dogrusu (tum veritabanlariyla uyum icin, orn sqlite ile dogru sonuc vermez) su sekilde kullanilmali:

    $control = $db->prepare(" SELECT count(*) FROM users WHERE name=?");
    $control->execute(array('ahmet'));
    $rowCount = $control->fetchColumn();

    edit: baska arkadas benden once ayni seyi soylemis.
    hocam atladığımız bi sorun var ben sadece ahmeti değil mehmet ali ayşe hepsinin kaç tane olduğunu öğrenmem lazım bu şekilde bir tek ahmet gelmez mi ? ben hepsini çekeceğim ki en çok aranan ismi bulup bunun üzerinden işlemler yapabileyim
  • 17-01-2021, 16:09:48
    #7
    Üyeliği durduruldu
    webtroloji adlı üyeden alıntı: mesajı görüntüle
    rowCount işlemi SELECT sorgularında önerilmiyor ve bazen hatalı çalışabiliyor. Şöyle bir deneme yapabilirsin:

    $response = $db->query("SELECT COUNT(*) FROM tablo WHERE isim=?")->execute(["Webtroloji"])->fetchColumn();
    
    echo $response;
    ama bu şekilde sadece webtroloji kaç tane var onu öğrenebilirim bana bütün tabloda ki verilerin adetleri lazım
  • 17-01-2021, 16:14:12
    #8
    SELECT name, COUNT(name) AS cnt
    FROM names
    GROUP BY name
    https://prnt.sc/x05pfi
  • 17-01-2021, 16:17:10
    #9
    hepsinin sayisini istiyorsan where kosulunu kaldirmalisin.
    birisinin degil birden fazlasinin sayisini almak icin ise `where in` ifadesini kullanmalisin.
    eger ki her isimden ayri ayri kac tane oldugunu ogrenmek istiyorsan `group by name` ifadesini kullanmalisin.

    select name, count(*) as aggregate from my_brilliant_table group by name;

    pdo'da fetchAll ile dondurebilirsin.