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

نسخه‌ی کامل: نمایش آرایه خالی
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
من با استفاده از فیلم های آموزشی استاد شهرکی که دارم می خواهم پروژه وبلاگی که توی بسته آموزشی پایه تا پیشرفته می باشد رو با استفاده از شی گرا بنویسم.
الان مشکل من اینجاست:
جدول دسته بندی ها:
id دارد که این این ای دی توی جدول پستها با cat_id ارتباط دارد وقتی دسته ی را انتخاب می کنیم پستهای مربوط به این دسته را نمایش بدهد.
الان وقتی دارم توی صفحه index با استفاده از شی که از کلاس پست ایجاد کردم متدRead را فراخوانی می کنم تمام پستها را نمایش می دهد اما وقتی میخوام پستهای مربوط به دسته ها را در صفحه ی مربط نمایش بدم یه آرایه خالی نمایش میدهد.
کد های من :
متدRead
public function Read($params = array()) {
        if(count($params) == 0){
            return $this->ArrayQuery("SELECT * FROM `posts` WHERE(`visible`=1)");
        }
        if(isset($params['id'])){
            $id = $this->Escape($params['id']);
            return $this->ArrayQuery("SELECT * FROM `posts` WHERE(`id`='{$id}' AND `visible`=1)");
        }
        $query = 'SELECT * FROM `posts` WHERE (1=1';
        if(isset($params['cat_id'])){
            $cid = $this->Escape($params['cat_id']);
            $query .= "AND `cat_id`='{$cid}'";
        }
        if(isset($params['title'])){
            $title = $this->Escape($params['title']);
            $query .= "AND `title` LIKE '%{$title}%'";
        }
        if(isset($params['body'])){
            $body = $this->Escape($params['body']);
            $query .= "AND `body` LIKE '%{$body}%'";
        }
        $query .= 'AND `visible`='1')';
        return $this->ArrayQuery($query);
    }
نمونه سازی و نمایش
$post = new Posts();
$posts = (isset($_GET['cat'])?$post->Read(array('cat_id'=>$_GET['cat'])):$post->Read());
echo '<pre>';
print_r ($posts) ;
echo '</pre>';
قبل از دستور return توی متد Read مقدار query$ رو echo کنید ببینیم چی داریم. رکوردهای دیتابیستون رو هم قرار بدین.
با سلام استاد
تشکر می کنم متوجه شدم اشکال توی کوری بود به دلیل قرار ندادن فاصله قبل از AND ها اگر به پست اصلی دقت کنید اونجا مشخص هست.
ممنون بابت راهنماییتون
خوشحالم مشکلتون برطرف شد. خیلی خوبه که همه وقتی مشکلشون حل میشه راه حل رو اعلام کنن (شاید برای بقیه هم پیش بیاد).