پارس جوم :: انجمن های تخصصی جوملا

نسخه‌ی کامل: درخواست راهنمایی برای یه دستور جوملا
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام

من برای کامپوننت یه فیلتر تقویم درست کردم و در آن پارامتری به نام $search2 وجود دارد که توسط کاربر وارد می شود مثلا به صورت 2013-04-14 ورودی می گیرد

کاری که من می خواهم بکنم این است که دستور بدهم مطالبی که تاریخ created آنها بیشتر از تاریخ پارامتر $search2 است منتشر شود


وقتی کد را به شکل دستی زیر می نویسم مطالب بعد از تاریخ 2013-04-14 نمایش داده میشود
کد php:
$query->where("(a.created > '2013-04-14')"); 

ولی وقتی به شکل زیر می نویسم هیچ نتیجه ای نمی دهد (اروری هم نمی دهد )

کد php:
$query->where("(a.created > '$search2')"); 


معرفی و شناسایی پارامتر را هم به درستی انجام دادم و با دستور

کد php:
    echo $search2

چاپ وروردی را به درستی دارم ولی در کد کوئری نتیجه نمی دهد
به شکل های مختلف با قراردادن نقطه یا جا به جا کردن نقل قول هم تست کردم ولی نتیجه نداشت

کسی می دونه مشکل از چیه و کد به چه صورتی باید باشد که درست نمایش دهد


کل تیکه کدم هم برای این قسمت به شکل زیر که باید خط اخرش تغیر کنه :


کد php:
        $search2 $this->getState('filter.search2');
        
        echo 
$search2;
        
        if (!empty(
$search2)) {
            if (
stripos($search2'id:') === 0
            {
            
                   
$query->where('a.id = '.(int) substr($search23));
            }
            elseif (
stripos($search2'author:') === 0
            {
                
$search2 $db->Quote('%'.$db->escape(substr($search27), true).'%');
                
$query->where('(ua.name LIKE '.$search2.' OR ua.username LIKE '.$search2.')');
            }
            else 
            {
                
$search2 $db->Quote('%'.$db->escape($search2true).'%');
               
$query->where("(a.created > '2013-04-14')"); 


با تشکر
از دستور echo استفاده کنید .
دقت کنید که نوع دستور اسکیوال رشته ی متنیه و مقادیر از به صورت ساده منتقل نمیشن
کدی که شما میفرتید الان اینه .
کد:
where a.created > $search2
شما میتونید از کدی مثل
echo "$r ";
البته بهتره این طوری بنویسید .
کد:
$query->where($db->quoteName('name')." = ".$db->quote($user_name));
لینک مرجع