• 08-10-2020, 23:36:17
    #1
    Merhaba arkadaşlar bir konuda yardımınıza ihtiyacım var.

    Şu şekilde bir function'umuz var.

    function say($tablo, $sutun = false, $deger = false ,$iz = '='){
    global $db;
    $sql = "SELECT * FROM $tablo";
    
    if($sutun || $deger){
    
    $sql .= " WHERE $sutun $iz :$sutun";
    $query = $db->prepare($sql);
    $query->execute([":$sutun" => $deger]);
    return $query->rowCount();
    
    }else{
    
    $query = $db->prepare($sql);
    $query->execute();
    return $query->rowCount();
    }
    }
    Yukarıda ki fonksiyonu <?= say('gorevler','KullaniciID',$_SESSION['KullaniciID']); ?> şeklinde yazdırdığımda toplam görevi bana sayıyor. Fakat Sadece aktif görevleri göster diye aşağıda ki kodu yazdığımda sonucu bana vermiyor..

    <?= say('gorevler','Durum',1,'KullaniciID',$_SESSION['KullaniciID']); ?> // Bu şekilde yazdırdığımda Sonuç = 0
    <?= say('gorevler','Durum',1 && 'KullaniciID',$_SESSION['KullaniciID']); ?> // Bu şekilde yazdırdığımda Sonuç = 0
    <?= say('gorevler','KullaniciID',$_SESSION['KullaniciID']); && say('gorevler','Durum',1); ?> // Bu şekilde yazdırdığımda Sonuç =1
    Hepsini denedim ama Durumu 1 olan verileri bir türlü çekemedim. Yardımcı olabilirseniz sevinirim.
  • 08-10-2020, 23:49:06
    #2
    Örnek verdiğin aşağıdaki  değerleri fonksiyona taşıdığın zaman bir karışıklık oluyor, sen say fonksyionunu burda iki kere çağırıyorsun sorun bundan olabilir ?
    <?= say('gorevler','KullaniciID',$_SESSION['KullaniciID']); && say('gorevler','Durum',1); ?>
    
    Şöyle dener misin ?
    
    <?= say('gorevler','KullaniciID',$_SESSION['KullaniciID'],'Durum',1);  ?>
  • 08-10-2020, 23:59:14
    #3
    ryesilirmak adlı üyeden alıntı: mesajı görüntüle
    Örnek verdiğin aşağıdaki  değerleri fonksiyona taşıdığın zaman bir karışıklık oluyor, sen say fonksyionunu burda iki kere çağırıyorsun sorun bundan olabilir ?
    <?= say('gorevler','KullaniciID',$_SESSION['KullaniciID']); && say('gorevler','Durum',1); ?>
    
    Şöyle dener misin ?
    
    <?= say('gorevler','KullaniciID',$_SESSION['KullaniciID'],'Durum',1);  ?>
    Hocam bir yerde hatam var ama beyin durdu sorunun ne olduğunu bilmiyorum. Gönderdiğiniz koduda denedim ama sonuç değişmedi 0 veriyor. Yinede Ellerinize sağlık
  • 09-10-2020, 00:00:31
    #4
    QRan7 adlı üyeden alıntı: mesajı görüntüle
    Hocam bir yerde hatam var ama beyin durdu sorunun ne olduğunu bilmiyorum. Gönderdiğiniz koduda denedim ama sonuç değişmedi 0 veriyor. Yinede Ellerinize sağlık
    Uzaktan bağlantı verirsen bakalım, belki çözerim.
  • 09-10-2020, 00:05:35
    #5
    ryesilirmak adlı üyeden alıntı: mesajı görüntüle
    Uzaktan bağlantı verirsen bakalım, belki çözerim.
    Şuan müsait değilim ama şöyle birşey sunabilirim.

    // DB //
    <?php
        $vtsunucu     = "localhost";
        $vtdbname     = "test_db";
        $vtuser       = "root";
        $vtpassw    = "";
    
        try {
             $db = new PDO("mysql:host=$vtsunucu;dbname=$vtdbname;charset=utf8",$vtuser, $vtpassw);
             $db->query("SET CHARACTER SET utf8");
             $db->query("SET NAMES UTF8");
            }catch ( PDOException $e ){
                print $e->getMessage();
        }
        
    ?>
    
    // FUNCTION //
    <?php
    
    function say($tablo, $sutun = false, $deger = false ,$iz = '='){
            global $db;
            $sql = "SELECT * FROM $tablo";
            
            if($sutun || $deger){
                
                $sql .= " WHERE $sutun $iz :$sutun";
                $query = $db->prepare($sql);
                $query->execute([":$sutun" => $deger]);
                return $query->rowCount();
                
            }else{
                
                $query = $db->prepare($sql);
                $query->execute();
                return $query->rowCount();
            }
            
        }
        
    ?>
    
    //YAZDIRMA //
    <?= say('gorevler','Durum',1,'KullaniciID',$_SESSION['KullaniciID']); ?>
    
    
    // TABLO //
    ID - GOREV - DURUM - KullaniciID
  • 09-10-2020, 00:28:33
    #6
    Aşağıdaki haliyle çalıştı istersen bir dene
    <?php
    $vtsunucu = "localhost";
    $vtdbname = "test";
    $vtuser = "root";
    $vtpassw = "";
    
    try {
    $db = new PDO("mysql:host=$vtsunucu;dbname=$vtdbname;charset=utf8",$vtuser, $vtpassw);
    $db->query("SET CHARACTER SET utf8");
    $db->query("SET NAMES UTF8");
    }catch ( PDOException $e ){
    print $e->getMessage();
    }
    
    ?>
    
    // FUNCTION //
    <?php
    
    session_start();
    
    
    $_SESSION['kullaniciid'] = "ryesilirmak";
    
    function say($tablo, $sutun = false, $deger = false, $sutun2 = false, $deger2 = false, $iz = '='){
    global $db;
    $sql = "SELECT * FROM $tablo";
            
    if($sutun2 || $deger2){
                
                $sql .= " WHERE $sutun $iz :$sutun and $sutun2 $iz :$sutun2";
    $query = $db->prepare($sql);
    $query->execute([":$sutun" => $deger, ":$sutun2" => $deger2,]);
    return $query->rowCount();
                
            }elseif($sutun2 == false || $deger2 == false){
    
    $sql .= " WHERE $sutun $iz :$sutun";
    $query = $db->prepare($sql);
    $query->execute([":$sutun" => $deger]);
    return $query->rowCount();
    
    }else{
    
    $query = $db->prepare($sql);
    $query->execute();
    return $query->rowCount();
    }
    
    }
    
    ?>
    
    //YAZDIRMA // </br>
    <?php echo say('gorevler','kullaniciid',$_SESSION['kullaniciid'],'durum',1 ); ?>
  • 09-10-2020, 00:46:51
    #7
    ryesilirmak adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki haliyle çalıştı istersen bir dene
    <?php
    $vtsunucu = "localhost";
    $vtdbname = "test";
    $vtuser = "root";
    $vtpassw = "";
    
    try {
    $db = new PDO("mysql:host=$vtsunucu;dbname=$vtdbname;charset=utf8",$vtuser, $vtpassw);
    $db->query("SET CHARACTER SET utf8");
    $db->query("SET NAMES UTF8");
    }catch ( PDOException $e ){
    print $e->getMessage();
    }
    
    ?>
    
    // FUNCTION //
    <?php
    
    session_start();
    
    
    $_SESSION['kullaniciid'] = "ryesilirmak";
    
    function say($tablo, $sutun = false, $deger = false, $sutun2 = false, $deger2 = false, $iz = '='){
    global $db;
    $sql = "SELECT * FROM $tablo";
            
    if($sutun2 || $deger2){
                
                $sql .= " WHERE $sutun $iz :$sutun and $sutun2 $iz :$sutun2";
    $query = $db->prepare($sql);
    $query->execute([":$sutun" => $deger, ":$sutun2" => $deger2,]);
    return $query->rowCount();
                
            }elseif($sutun2 == false || $deger2 == false){
    
    $sql .= " WHERE $sutun $iz :$sutun";
    $query = $db->prepare($sql);
    $query->execute([":$sutun" => $deger]);
    return $query->rowCount();
    
    }else{
    
    $query = $db->prepare($sql);
    $query->execute();
    return $query->rowCount();
    }
    
    }
    
    ?>
    
    //YAZDIRMA // </br>
    <?php echo say('gorevler','kullaniciid',$_SESSION['kullaniciid'],'durum',1 ); ?>
    Kardeşim ellerine sağlık, Benim için vaktini ayırıpta ayrıca yardımcı olduğun için çok ama çok teşekkür ederim.
  • 09-10-2020, 00:48:42
    #8
    QRan7 adlı üyeden alıntı: mesajı görüntüle
    Kardeşim ellerine sağlık, Benim için vaktini ayırıpta ayrıca yardımcı olduğun için çok ama çok teşekkür ederim.
    rica ederim, önemli olan sorunlarımızı çözmek işine faydalı olduysa güzel.
  • 09-10-2020, 00:51:05
    #9
    ryesilirmak adlı üyeden alıntı: mesajı görüntüle
    rica ederim, önemli olan sorunlarımızı çözmek işine faydalı olduysa güzel.
    Faydalı olmak ne kelime beynim durmuştu inan Hakkını helal et ALLAH razı olsun!