زمان کنونی: ۱۰-۱-۱۴۰۳, ۰۹:۰۸ صبح درود مهمان گرامی! (ورودثبت نام)


ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
درخواست راهنمایی برای یه دستور جوملا
۱۶-۱۲-۱۳۹۳, ۰۸:۰۲ عصر
ارسال: #1
درخواست راهنمایی برای یه دستور جوملا
با سلام

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

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


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

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

$query->where("(a.created > '$search2')"); 


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

    echo $search2

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

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


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


        $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')"); 


با تشکر
امضاء mrt69
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
۱۶-۱۲-۱۳۹۳, ۰۸:۲۵ عصر
ارسال: #2
RE: درخواست راهنمایی برای یه دستور جوملا
از دستور echo استفاده کنید .
دقت کنید که نوع دستور اسکیوال رشته ی متنیه و مقادیر از به صورت ساده منتقل نمیشن
کدی که شما میفرتید الان اینه .
where a.created > $search2
شما میتونید از کدی مثل
echo "$r ";
البته بهتره این طوری بنویسید .
$query->where($db->quoteName('name')." = ".$db->quote($user_name));
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
 سپاس شده توسط mrt69 ، محمدسلیمانی ، Pourdaryaei
ارسال پاسخ 


پرش به انجمن:


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