رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نمایش آرایه خالی
#1
سلام
من با استفاده از فیلم های آموزشی استاد شهرکی که دارم می خواهم پروژه وبلاگی که توی بسته آموزشی پایه تا پیشرفته می باشد رو با استفاده از شی گرا بنویسم.
الان مشکل من اینجاست:
جدول دسته بندی ها:
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>';
پاسخ
تشکر شده توسط:
#2
قبل از دستور return توی متد Read مقدار query$ رو echo کنید ببینیم چی داریم. رکوردهای دیتابیستون رو هم قرار بدین.
پاسخ
تشکر شده توسط:
#3
با سلام استاد
تشکر می کنم متوجه شدم اشکال توی کوری بود به دلیل قرار ندادن فاصله قبل از AND ها اگر به پست اصلی دقت کنید اونجا مشخص هست.
ممنون بابت راهنماییتون
پاسخ
تشکر شده توسط:
#4
خوشحالم مشکلتون برطرف شد. خیلی خوبه که همه وقتی مشکلشون حل میشه راه حل رو اعلام کنن (شاید برای بقیه هم پیش بیاد).
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 2 مهمان