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


ارسال پاسخ 
 
امتیاز موضوع:
  • 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($search2, 3));
            }
            elseif (
stripos($search2, 'author:') === 0) 
            {
                
$search2 = $db->Quote('%'.$db->escape(substr($search2, 7), true).'%');
                
$query->where('(ua.name LIKE '.$search2.' OR ua.username LIKE '.$search2.')');
            }
            else 
            {
                
$search2 = $db->Quote('%'.$db->escape($search2, true).'%');
               
$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 مهمان