• 10-01-2025, 23:57:34
    #1
    merhabalar arkadaşlar esnek bir select sorgusu yapmak için fonksiyon yazdım fakat bir türlü order by çalıştıramadım. Değişkenleri silip manuel yazıyorum yine de çalışmıyor. yardımcı olursanız çok sevinirim.
    public function getDataW($table,$column,$condition,$orderColumn="", $orderType=""){
        if (!empty($column) && !empty($condition) && !empty($condition)){
            $data = $this->db->get("SELECT * FROM {$table} WHERE {$column}=? ORDER BY  {$orderColumn} {$orderType}",array($condition));
    
        }else{
            if ($condition==0){
                $data = $this->db->get("SELECT * FROM {$table} WHERE {$column}=? ORDER BY {$orderColumn} {$orderType}",array($condition));
            }else{
                $data = $this->db->get("SELECT * FROM {$table}  ORDER BY {$orderColumn} {$orderType}");
            }
    
        }
        return $data;
    }
    bu da kullanım tarafı
    $getDetail = $boot->getDataW("menu_detail","menu_id",$id,"menu_order","ASC");
  • 11-01-2025, 00:47:34
    #2
    böyle dener misin?

    public function getDataW($table, $column, $condition, $orderColumn = "", $orderType = "") {
        $allowedOrderColumns = ['id', 'name', 'date'];
        $allowedOrderTypes = ['ASC', 'DESC'];
    
        // Order Column ve Order Type'ı doğrulayın
        if (!in_array($orderColumn, $allowedOrderColumns)) {
            $orderColumn = '';
        }
    
        if (!in_array($orderType, $allowedOrderTypes)) {
            $orderType = '';
        }
    
        $query = "SELECT * FROM {$table}";
        
      
        if (!empty($column) && $condition !== null) {
            $query .= " WHERE {$column}=?";
            $params = array($condition);
        } else {
            $params = [];
        }
    
    
        if (!empty($orderColumn) && !empty($orderType)) {
            $query .= " ORDER BY {$orderColumn} {$orderType}";
        }
    
        return $this->db->get($query, $params);
    }
  • 11-01-2025, 01:15:00
    #3
    byroot adlı üyeden alıntı: mesajı görüntüle
    böyle dener misin?

    public function getDataW($table, $column, $condition, $orderColumn = "", $orderType = "") {
        $allowedOrderColumns = ['id', 'name', 'date'];
        $allowedOrderTypes = ['ASC', 'DESC'];
    
        // Order Column ve Order Type'ı doğrulayın
        if (!in_array($orderColumn, $allowedOrderColumns)) {
            $orderColumn = '';
        }
    
        if (!in_array($orderType, $allowedOrderTypes)) {
            $orderType = '';
        }
    
        $query = "SELECT * FROM {$table}";
        
      
        if (!empty($column) && $condition !== null) {
            $query .= " WHERE {$column}=?";
            $params = array($condition);
        } else {
            $params = [];
        }
    
    
        if (!empty($orderColumn) && !empty($orderType)) {
            $query .= " ORDER BY {$orderColumn} {$orderType}";
        }
    
        return $this->db->get($query, $params);
    }
    çalışmadı hocam . datatable kullandığım için olabilir mi?
  • 11-01-2025, 01:30:24
    #4
    mskorkt adlı üyeden alıntı: mesajı görüntüle
    çalışmadı hocam . datatable kullandığım için olabilir mi?
    Hayır çünkü size kodu veren arkadaş yapay zekaya yazdırmış kodu Hangi kritere göre order by yapmaya çalışıyorsunuz ? menu_order değeri nedir ?
  • 11-01-2025, 01:43:05
    #5
    RLine adlı üyeden alıntı: mesajı görüntüle
    Hayır çünkü size kodu veren arkadaş yapay zekaya yazdırmış kodu Hangi kritere göre order by yapmaya çalışıyorsunuz ? menu_order değeri nedir ?
    column = menu_order
    orderType="ASC" HOCAM
  • 11-01-2025, 02:01:42
    #6
    buna gelen değerleri kontrol eder misin?
     if (!empty($orderColumn) && !empty($orderType)) {
            //buraya değer geliyor mu kontrol eder misin ve kodlarda bir hata var ise yazar mısın.
        }
  • 11-01-2025, 02:40:29
    #7
    mskorkt adlı üyeden alıntı: mesajı görüntüle
    column = menu_order
    orderType="ASC" HOCAM
    Destek Sağlandı.
  • 11-01-2025, 02:43:58
    #8
    RLine adlı üyeden alıntı: mesajı görüntüle
    Destek Sağlandı.
    Sorun Datatable verileri ve bir kaç tablonun çakışmasından dolayıymış. çözüldü.