• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
طریقه ی صحیح نوشتن این کد
#1
سلام دوستان.

من این کد رو دارم :
کد پی‌اچ‌پی:
$result=$this->post
    
->select('id,ts,cat_id,title')
    ->
like('ts',$data['ts'])
    ->
where('cat_id',$data['cat_id'])
    ->
get()
    ->
result_array(); 

و میخوام برای اجرای like و where شرط بزارم ( با مفهوم زیر Blush)
کد پی‌اچ‌پی:
$result=$this->post
    
->select('id,ts,cat_id,title')
    if(!
is_null($data['ts'])){
        ->
like('ts',$data['ts'])
    }
    if(!
is_null($data['cat_id'])){
        ->
where('cat_id',$data['cat_id'])
    }
    ->
get()
    ->
result_array(); 

طریقه ی درست سینتکس نویسی این قطعه کد رو میخوام .
نمیدونستم چی سرچ کنم AngelAngel
باید از echo استفاده کنم ؟ به چه شکل ؟
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#2
ببین این کار می کنه:

کد پی‌اچ‌پی:
$result=$this->post
->select('id,ts,cat_id,title')
->
like('ts', (empty($data['ts'])) ? $data['ts'] : "")
->
where('cat_id',(empty($data['cat_id'])) ? $data['cat_id'] : "")
->
get()
->
result_array(); 
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : pary_daryayi hamid_80386 shgninc
#3
ممنونم .
این کد درست کار میکنه ، تنها در صورتی که cat_id انتخاب نشه درست اجرا نمیشه . چون cat_id="" رو بررسی میکنه که وجود نداره . باید کاری کنم که در صورت عدم انتخاب ، این همیشه true بشه .

من میخواستم در صورت خالی بودن یکی ، کل اون خط کد ، اجرا نشه .

با سه شرط elseif نوشتم اما میخواستم کدنویسی ام طولانی نشه .
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#4
شاید عجیب/مسخره بنظر بیاد، ولی اگه وقت داری از این فایلت یه PRINT بگیر و روی کاغذ بررسی کنش. اونوقت برای تصحیح و بهینه سازی کدهات 1000 تا ایده و راه بذهنت میرسه! Idea
من اینجوری خیلی از پروژه های 4 مگی رو 3 مگ کردم
فایلهای 1000 خطی رو 600-700 خط کردم
و...

من از این ایده توی سربازی استفاده کردم، وقتی که روی کاغذ با مداد برنامه نویسی می کردم!
وبلاگ: Yousha.Blog.ir


کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بیشتر => نگهداری بهتر
  پاسخ
تشکر شده توسط : pary_daryayi hamid_80386
#5
(۱۳۹۴ مرداد ۰۴, ۰۴:۱۶ ب.ظ)Y.P.Y نوشته: شاید عجیب/مسخره بنظر بیاد، ولی اگه وقت داری از این فایلت یه PRINT بگیر و روی کاغذ بررسی کنش. اونوقت برای تصحیح و بهینه سازی کدهات 1000 تا ایده و راه بذهنت میرسه! Idea
من اینجوری خیلی از پروژه های 4 مگی رو 3 مگ کردم
فایلهای 1000 خطی رو 600-700 خط کردم
و...

من از این ایده توی سربازی استفاده کردم، وقتی که روی کاغذ با مداد برنامه نویسی می کردم!

نه عجیب نیست ،اگر فرصتش باشه که خوبه !

در مورد اینکه این سوالو مطرح کردم ، به خاطر این بود که گفتم شاید تو php تابعی ؛ چیزی برای این باشه که من نمیدونم ! Angel
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#6
میشه راجع به این کدها بیشتر توضیح بدید که چی هستند
شبیه دستورات sql هستند (select , where , like)
IdeaAngel
  پاسخ
تشکر شده توسط :
#7
(۱۳۹۴ مرداد ۰۵, ۰۸:۳۶ ق.ظ)ImanAzadi نوشته: میشه راجع به این کدها بیشتر توضیح بدید که چی هستند
شبیه دستورات sql هستند (select , where , like)
IdeaAngel

این ها مربوط به کدنویسی فریم ورک کدایگنایتر هستند که از طریق مدل اطلاعات پایگاه داده رو میخونن .
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#8
لطفا این رو تست کنید
این کدها صرفا مال کدینایتر نیستین کدینایتر یک فریم ورک هست که از این توابع استفاده میکنه
اما شما میتونید خودتون کلاس تعریف کنید و توابع رو فراخوان کنید .
فریم ورکاهیی مثل جوملا ، وردپرس و حتی همین انجمن ساز هم از همین مدل ها استفاده میکنند . بیشتر بازتابش به MVC برمیگرده

کد پی‌اچ‌پی:
if(!is_null($data['ts'])){
        
$cond =like('ts',$data['ts']);
    }
    if(!
is_null($data['cat_id'])){
        
$cond where('cat_id',$data['cat_id']);
    }

$result=$this->post
    
->select('id,ts,cat_id,title')
    ->
$cond
    
->get()
    ->
result_array(); 
  پاسخ
تشکر شده توسط : pary_daryayi shgninc
#9
ممنون ، قبلا تقریبا به این شکل نوشته بودم ،
و الان هم فعلا دارم به همین ترتیب استفاده میکنم .
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#10
نقل قول: این ها مربوط به کدنویسی فریم ورک کدایگنایتر هستند که از طریق مدل اطلاعات پایگاه داده رو میخونن .
تو هنوز روی CI هستی؟
دیگه بسه ولش کن بیا سروقت Yii

بعدشم انقدر روی این کدهات حساس نباش Smile
وسواس گرفتی آآآآ
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : shgninc


پرش به انجمن:


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