• 22-04-2017, 18:17:03
    #1
    Gold üye
    bende $hesap->kullanici_adi değişkeni bulunmakta.

    Tablodaki yazan kullanici_adi bölümü ile eşit ise şunu yap demek istiyorum.

    Elle tek tek yapmak istemiyorum, nasıl yapabiliriz?

    <?php 
    $query = $db->query("SELECT kullanici_adi FROM referanssistem_uyeleri", PDO::FETCH_ASSOC);
    if ( $query->rowCount() ){
         foreach( $query as $row ){
              $kullanici_adi=$row['kullanici_adi']; // Burada isimleri döndürdüm 4 isim de dönüyor sorun yok. (print_r ile baktım)
     } }
    
    if (BURAYA NE YAZMALIYIM)) {
      echo "deneme";
    }
    
      ?>
  • 22-04-2017, 18:31:54
    #2
    Üyeleri bir dizi değişkeninde sakla. Sonra if içinde in_array fonksiyonu kullanarak $uye değişkeni var mı diye kontrol ettir.

    ASUS_Z00LD cihazımdan Tapatalk kullanılarak gönderildi
  • 22-04-2017, 18:44:51
    #3
    Gold üye
    soulmy adlı üyeden alıntı: mesajı görüntüle
    Üyeleri bir dizi değişkeninde sakla. Sonra if içinde in_array fonksiyonu kullanarak $uye değişkeni var mı diye kontrol ettir.

    ASUS_Z00LD cihazımdan Tapatalk kullanılarak gönderildi
    Hocam onu nasıl kullanacağım

    Hepsini $kullanici_adi değişkeninde topladım, ne yapmam gerekiyor?

    Şöyle göstereyim


    $query = $db->query("SELECT kullanici_adi FROM referanssistem_uyeleri", PDO::FETCH_ASSOC);
    if ( $query->rowCount() ){
         foreach( $query as $row ){
              $kullanici_adi=$row['kullanici_adi'];
    
    }}
  • 22-04-2017, 19:09:49
    #4
    3 üye yi ayrı değişkene ata, if içinde || kullanarak 3 değişkene esitle

    ASUS_T00J cihazımdan Tapatalk kullanılarak gönderildi
  • 22-04-2017, 19:56:28
    #5
    if ( in_array($uye, $kullanici_adi) ) {
    	
    	/* koşul gerçekleşti */
    	
    }
  • 22-04-2017, 21:25:14
    #6
    Gold üye
    Cevaplarınız için teşekkürler, ayrı ayrı eklemek istemiyorum. Tablodaki veriler ilerleyen zamanlarda 10-20-100 olabilir.

    elimde şöyle bir değişken var; $hesap->kullanici_adi

    Benim istediğim tabloda da bu isim var ise işlem yapsın istiyorum.

    BAHSETTİĞİM KODLAR;
    <?php 
    $query = $db->query("SELECT kullanici_adi FROM referanssistem_uyeleri", PDO::FETCH_ASSOC);
    if ( $query->rowCount() ){
         foreach( $query as $row ){
              $kullanici_adi=$row['kullanici_adi']; // Burada kullanıcı adlarını döndürdüm, 3 tane içinde kullanıcı adı bulunmakta. (print_r ile baktım.)
     } }
    
    if (in_array($kullanici_adi, $hesap->kullanici_adi)) {
      echo $deneme;
    }
    
      ?>
  • 23-04-2017, 04:40:36
    #7
    @instads;

    eğer kodu yanlış yorumlamadıysam şöyle bir durum mevcut siz bu şekilde yaparsanız değişkene sadece döngüdeki son dönen üyenin kullanıcı adı tutulur.

    if satırından önce echo $kullanici_adi; yazarsanız demek istediğimi anlarsınız. bunun yerine yukarıda diğer arkadaşlarında dediği gibi kullanıcı adlarını bir dizide tutup in array ile kontrol sağlayabilirsiniz.

    Örnek:
    <?php 
    $query = $db->query("SELECT kullanici_adi FROM referanssistem_uyeleri", PDO::FETCH_ASSOC);
    if ( $query->rowCount() ){
      foreach( $query as $row ){
         $kullanici_adi_dizi[] = $row['kullanici_adi']; // Burada kullanıcı adlarını döndürdüm, 3 tane içinde kullanıcı adı bulunmakta. (print_r ile baktım.)
    } }
    
    if (in_array($hesap->kullanici_adi, $kullanici_adi_dizi)) {
      echo 'kullanici bulundu';
    }
    ?>
    Ne yapmak istediğiniz tam bilemiyorum ama tüm üyeleri tek tek döndürmek yerine direk sql üzerinde kontrol sağlamanız ileride performans için daha faydalı olacaktır.

    Sql kontrollü Örnek:
    <?php 
    $query = $db->query("SELECT kullanici_adi FROM referanssistem_uyeleri WHERE kullanici_adi='".$hesap->kullanici_adi."'", PDO::FETCH_ASSOC);
    if ( $query->rowCount() > 0 ){
    	echo 'kullanici var';
    }else{
    	echo 'kullanici yok';
    }
    ?>