• 27-07-2020, 11:26:48
    #1
    Aşağıdaki kod ile getten gelen kullanıcının tüm siparişlerini listeleyebiliyorum ancak bana sipariş durumu 1 olan siparişleri listelemem gerekiyor. Bu durumda nasıl bi düzenleme yapmam gerekiyor.
    $sql=$db->wread("siparisler","user",$_GET["user"]);
    foreach ($sql as $key => $row) { ?>
    crud.php içeriği ise şöyle

    public function wread($table,$columns,$values,$options=[]) {
    
          
          try {
    
                $stmt=$this->db->prepare("SELECT * FROM $table WHERE $columns=?");
                $stmt->execute([htmlspecialchars($values)]);
    
                return $stmt;
                
            } catch (Exception $e) {
                
                return ['status' => FALSE, 'error' => $e->getMessage()];
            }
        }
  • 27-07-2020, 11:45:32
    #2
    $sql=$db->get("siparisler",array("user","durum"),array($_GET["user"],1));
    
    
    public function get($table,$options=[],$values=[]) {
    
    $options = implode("=?  AND ",$options);
    $options = $options."=?";
    
    try {
    
    $stmt=$this->db->prepare("SELECT * FROM $table WHERE $options");
    $stmt->execute([htmlspecialchars($values)]);
    
    return $stmt;
    
    } catch (Exception $e) {
    
    return ['status' => FALSE, 'error' => $e->getMessage()];
    }
    }
  • 27-07-2020, 11:47:18
    #3
    veritabanında durum sütunu neyse onu yazın
  • 27-07-2020, 11:48:12
    #4
    eğer get diye başka fonksiyon varsa onun ismini istediğiniz gibi değişin
  • 27-07-2020, 16:27:51
    #5
    Misafir adlı üyeden alıntı: mesajı görüntüle
    $sql=$db->get("siparisler",array("user","durum"),array($_GET["user"],1));
    
    
    public function get($table,$options=[],$values=[]) {
    
    $options = implode("=?,",$options);
    $options = rtrim($options,",");
    
    try {
    
    $stmt=$this->db->prepare("SELECT * FROM $table WHERE $options");
    $stmt->execute([htmlspecialchars($values)]);
    
    return $stmt;
    
    } catch (Exception $e) {
    
    return ['status' => FALSE, 'error' => $e->getMessage()];
    }
    }
    Hocam

    echo $options = rtrim($options,",");
    Bunu echo yaptığım zaman şöyle veri dönüyor.
    yani sp_user sonuna =? ekliyor ama diğerine eklemiyor, Kısaca çalıştıramadım.
  • 27-07-2020, 17:03:23
    #6
    düzeltme yaptım
  • 27-07-2020, 18:07:56
    #7
    Misafir adlı üyeden alıntı: mesajı görüntüle
    düzeltme yaptım
    Sonuca ulaşmama çok az kaldı, sizede teşekkür ediyorum ilgilendiniz, ufak bi detay daha var ama bulamadım

    Şuan Üst yapıyı doğru yerleştiriyor ancak verileri listelemiyor.
    execute içinde ise Şu iki yapıyı kullandım ama getirmiyor

    $stmt->execute([htmlspecialchars($values)]);
    $stmt->execute(array_values($values));
  • 27-07-2020, 18:44:13
    #8
    yaptığım düzeltme ile tekrar deneyin ben düz pdo kullanmadığım için WHERE kısmında virül mü AND mi kullanılır hatırlayamadım
  • 27-07-2020, 19:42:57
    #9
    Misafir adlı üyeden alıntı: mesajı görüntüle
    yaptığım düzeltme ile tekrar deneyin ben düz pdo kullanmadığım için WHERE kısmında virül mü AND mi kullanılır hatırlayamadım
    Hocam vakit ayırıp yardımcı olduğunuz için çok teşekkür ediyorum, Sorunu yardımınız ile çözdük şuan veriler tam istediğim gibi geliyor... Allah razı olsun, İyi çalışmalar.