11-03-1394، 01:11 ب.ظ
سلام
من با استفاده از فیلم های آموزشی استاد شهرکی که دارم می خواهم پروژه وبلاگی که توی بسته آموزشی پایه تا پیشرفته می باشد رو با استفاده از شی گرا بنویسم.
الان مشکل من اینجاست:
جدول دسته بندی ها:
id دارد که این این ای دی توی جدول پستها با cat_id ارتباط دارد وقتی دسته ی را انتخاب می کنیم پستهای مربوط به این دسته را نمایش بدهد.
الان وقتی دارم توی صفحه index با استفاده از شی که از کلاس پست ایجاد کردم متدRead را فراخوانی می کنم تمام پستها را نمایش می دهد اما وقتی میخوام پستهای مربوط به دسته ها را در صفحه ی مربط نمایش بدم یه آرایه خالی نمایش میدهد.
کد های من :
متدRead
من با استفاده از فیلم های آموزشی استاد شهرکی که دارم می خواهم پروژه وبلاگی که توی بسته آموزشی پایه تا پیشرفته می باشد رو با استفاده از شی گرا بنویسم.
الان مشکل من اینجاست:
جدول دسته بندی ها:
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>';