PDA

View Full Version : سوال: استفاده از حلقه در کلاس



mosavi7
شنبه 03 اسفند 1392, 12:09 عصر
با سلام و عرض ادب
دوستان چطور میتونیم یه حلقه رو در کلاس ایجاد کنم تا بتونم از $value های به وجود اومده خارج از class استفاده کنم .
مثال : من یه کلاس برای خوندن اطلاعات دیتابیس ایجاد کرده ام . حالا میخوام حلقه رو در class template اجرا کنم تا نیازی نباشه تو قالب که یوزر دسترسی داره نمایش داده بشه ...

mosavi7
یک شنبه 18 اسفند 1392, 12:21 عصر
سلام
دوستان مثل اینکه بنده خیلی نامفهوم توضیح دادم که بعد از این همه مدت پاسخی دریافت نکرده ام .



<?php
class CategoryTem {
public $controller, $action;
public $idCat, $nameCat;
function __construct() {
$urlparts = @explode('/', $_GET[url]);
$this->action = $urlparts['1'];
if(isset($this->action)) {
if(!is_numeric($this->action)) {
$catNem = $this->action;
$param = array (
":cat" => $catNem );
$Idategories = DBHandler::GetRow("SELECT * FROM categories WHERE name = :cat", $param);
return $this->idCat = $Idategories['id'];
} else
header("location:404.php");
}
}
function viewCat() {
$urlCat = _UrlSite . "/category/" . $this->action;
$pagination = new Pagination("post", "$urlCat&page=", "SELECT * FROM post WHERE categories_id = $this->idCat ORDER BY id ", " WHERE categories_id = $this->idCat");
foreach($pagination->query as $category) {
echo $this->title .= $category['title'];
echo $this->body .= $category['body'];
}
$this->display .= $pagination->dispaly;
echo $this->display;
}
}
?>



من الان چطور میتونم title ، body ، display رو تو قالبم ببرم بدون اینکه بخوام دوباره حلقه تو فایل template اجرا کنم ...
خیلی ممنون میشم این مشکل رو برام حل کنید .

plague
یک شنبه 18 اسفند 1392, 13:15 عصر
کدت اصلا قابل خوندن نیست (حداقل تو مرورگر من )
اگه یه ردیف میخونی ازدیتابیس بریز تو یک آرایه با خونه های همنام فیلد دیتابیس

مثلا


$data['title'] = $db_title_value ;

اونوقت توی view میتونی مستقیما بری سراغ اون خونه از آرایه و مقدارش رو بدست بیاری

mosavi7
یک شنبه 18 اسفند 1392, 13:26 عصر
کدت اصلا قابل خوندن نیست (حداقل تو مرورگر من )
اگه یه ردیف میخونی ازدیتابیس بریز تو یک آرایه با خونه های همنام فیلد دیتابیس

مثلا


$data['title'] = $db_title_value ;

اونوقت توی view میتونی مستقیما بری سراغ اون خونه از آرایه و مقدارش رو بدست بیاری

با سلام مثلا اینکه انجمن تک کدهای پی اچ پی رو لود نمی کنه ...
لطفا مجددا به کدها نگاهی بندازید . این فایل category بنده هست .

plague
یک شنبه 18 اسفند 1392, 14:01 عصر
من متوجه نمیشم تو تابع viewCat چیکار داری میکنی ؟ خوندن از دیتابیس رو متوجه میشم البته و حلقه هم مشخصه ولثی بقیش معلوم نیست
$this->title
چی هست و چرا از

.=

استفاده کردی ! مگه مقدارفعلی توش چی بوده ؟
اگه سعی داری تایتل همه ردیف هایی که ازدیتبایس خوندی رو توش بریزی که کاربیخودیه و عملا فایده ای نداره


گه شما چندین ردیف ازدیتابیست میخونی
توی قالب باید یه حلقه دیگه بزاری تا اونها رو نمایش بدی و راه دیگه نداری !
مگه اینکه مثلا توی کلاست یک تکه از قالب رو بسازی مثلا



$ul = '<ul>';
foreach($pagination->query as $category) {
$ul .= '<li>'. $category['title'] ;
$ul .= $category['body'] .'</li> ';
}
$ul .= '</ul>';



بعد متغیر $ul رو بفرستی به قالب و اونجا نمایش بدی

در کل کار بیخودیه و داری وقتت رو تلف میکنی و به از بین رفتن نظم کد و کثیف کاریش نمی ارزه

mosavi7
یک شنبه 18 اسفند 1392, 17:27 عصر
من متوجه نمیشم تو تابع viewCat چیکار داری میکنی ؟ خوندن از دیتابیس رو متوجه میشم البته و حلقه هم مشخصه ولثی بقیش معلوم نیست
$this->title
چی هست و چرا از

.=

استفاده کردی ! مگه مقدارفعلی توش چی بوده ؟
اگه سعی داری تایتل همه ردیف هایی که ازدیتبایس خوندی رو توش بریزی که کاربیخودیه و عملا فایده ای نداره


گه شما چندین ردیف ازدیتابیست میخونی
توی قالب باید یه حلقه دیگه بزاری تا اونها رو نمایش بدی و راه دیگه نداری !
مگه اینکه مثلا توی کلاست یک تکه از قالب رو بسازی مثلا



$ul = '<ul>';
foreach($pagination->query as $category) {
$ul .= '<li>'. $category['title'] ;
$ul .= $category['body'] .'</li> ';
}
$ul .= '</ul>';



بعد متغیر $ul رو بفرستی به قالب و اونجا نمایش بدی

در کل کار بیخودیه و داری وقتت رو تلف میکنی و به از بین رفتن نظم کد و کثیف کاریش نمی ارزه

سلام و عرض ادب
ایول تنها مشکل من همینه که نمیخوام حلقه رو تو قالبم به کار ببرم . عین سیستم های مدیریت محتوا ...