تالار گفتمان nCIS.ir

نسخه‌ی کامل: توضیح در مورد یک متد از یک کلاس
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان من ی کلاسی توی نت پیدا کردم ک یک متد برای select  از دیتابیس داره ی قسمت از این کد رو متوجه نشدم(اون قسمتی ک ستاره زدم ) گفتم اگ بشه یکی از دوستان برام توضیح بدن ممنون میشم 
با تشکر


public function getRows($table,$conditions = array()){
        $sql = 'SELECT ';
        $sql .= array_key_exists("select",$conditions)?$conditions['select']:'*';
        $sql .= ' FROM '.$table;
        if(array_key_exists("where",$conditions)){
            $sql .= ' WHERE ';
            $i = 0;
            foreach($conditions['where'] as $key => $value){
                $pre = ($i > 0)?' AND ':'';
                $sql .= $pre.$key." = '".$value."'";
                $i++;
            }
        }
        
        if(array_key_exists("order_by",$conditions)){
            $sql .= ' ORDER BY '.$conditions['order_by']; 
        }
        
        if(array_key_exists("start",$conditions) && array_key_exists("limit",$conditions)){
            $sql .= ' LIMIT '.$conditions['start'].','.$conditions['limit']; 
        }elseif(!array_key_exists("start",$conditions) && array_key_exists("limit",$conditions)){
            $sql .= ' LIMIT '.$conditions['limit']; 
        }
        
        $query = $this->db->prepare($sql);
        $query->execute();
 از اینجا تا اخر کد *****************        
        if(array_key_exists("return_type",$conditions) && $conditions['return_type'] != 'all'){
            switch($conditions['return_type']){
                case 'count':
                    $data = $query->rowCount();
                    break;
                case 'single':
                    $data = $query->fetch(PDO::FETCH_ASSOC);
                    break;
                default:
                    $data = '';
            }
        }else{
            if($query->rowCount() > 0){
                $data = $query->fetchAll();
            }
        }
        return !empty($data)?$data:false;
    }
    
داره میگه اگه توی آرایه‌ی $conditions اندیس return_type وجود داشت و مقدارش مخالف all بود، برحسب اینکه مقدارش count یا single یا یه چیز دیگه است، متغیر $data چه مقداری داشته باشه. اگه اصلاً این اندیس نبود یا مقدارش all بود هم کل داده‌ها رو توی $data بگذاره.