เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

ถามตอบ ปัญหาการพัฒนา Extension ไม่ว่าจะเป็น Module plugin Component หรือ แม้แต่ template การปรับแต่งโค้ด Joomla ต่างๆ ทุกเวอร์ชั่น 1.5 2.5 หรือ 3.x

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 979
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

โพสต์โดย Patipat » 23/07/2019 4:01 pm

โค้ดที่จะนำค่า ไปแสดงข้อมูลครับ แต่ว่า ตรง ->where('a.product_id in ('.$product_slisdershow.')') ข้อมูล ต้องเป็น เช่น 1,2,3,4 ถึงจะแสดงข้อมูลได้
แต่ว่า ผม แปลงค่าจาก Arary มาแล้ว มันนำไปใส่ไม่ได้ครับ ต้องใส่ตรงไหนถึงจะถูกหลักครับ โค้ดที่แปลงมาคือเป็นตัวแปร $setid ครับ
พอเช็คค่า $setid ดูก็จะได้ 1,2,3,4 ครับแต่ว่า นำไปใส่ใน Where ไมไ่ด้ครับ

โค้ดที่ดึงค่าจาก Fields ครับ

โค้ด: เลือกทั้งหมด

$helper_newproduct = new ModShowProductNewItem();
$product_slisdershow = $helper_newproduct->newItem($params->get('selectid')); 



โค้ดของคลาสแสดงข้อมูลครับ

โค้ด: เลือกทั้งหมด

class ModShowProductNewItem
   
{
        public function newItem($product_slisdershow)
        {
         $lang_tag = \Joomla\CMS\Factory::getLanguage()->getTag(); 
           $db 
= Joomla\CMS\Factory::getDbo();
           $query = $db ->getQuery(true)
           
                      
                        
->select('a.category_id, b.product_id, b.image ,b.product_price,'.$db->qn('b.name_'.$lang_tag))
                        ->from('#__mzc_products as b')
                        ->where('a.product_id in ('.$product_slisdershow.')')
                        ->leftJoin('#__mzc_products_to_categories AS a ON b.product_id = a.product_id')   
                        
->order('product_id DESC');
                        $db->setQuery($query,0,$product_slisdershow);
                        
                        
                        
//ตัวที่แปลงมาจาก Array 
                        $setid = implode(",", $product_slisdershow);
                        echo $setid;
                        exit();
                     
            
           $items 
= $db ->loadAssocList();
           return $items;
        
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 10161
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

โพสต์โดย tsukasaz » 23/07/2019 4:09 pm

ใช้คำสั่ง implode ไงครับ https://www.mindphp.com/%E0%B8%84%E0%B8 ... plode.html

โค้ด: เลือกทั้งหมด

implode(','$product_slisdershow
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 979
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

โพสต์โดย Patipat » 23/07/2019 4:23 pm

พอมผม ใส่ ให้เท่ากับตัวแปรนี้ มัน ขึ้นเออเร่อครับ เช็คค่าไม่ได้

โค้ด: เลือกทั้งหมด

$product_slisdershow $helper_newproduct->newItem($params->get('selectid')); 
$setid implode(","$product_slisdershow);
print_r($setid);
exit();

 


Selection_999(376).png
Selection_999(376).png (8.79 KiB) เปิดดู 103 ครั้ง
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 18166
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

โพสต์โดย thatsawan » 23/07/2019 4:41 pm

จะแก้ไขปัญหาได้ ต้องรู้ว่า error ที่ไหน เช็คเเต่ละบรรทัดก่อนว่าเป็นที่ไหน

โค้ด: เลือกทั้งหมด

$product_slisdershow = $params->get('selectid');
$setid = implode(",", $product_slisdershow);
print_r($setid);
exit();

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 10161
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

โพสต์โดย tsukasaz » 23/07/2019 4:43 pm

มัน Error ก่อนที่จะ print ค่าแล้วครับ

แล้วคำถามที่ว่าจะใส่ค่า ที่แปลงมาจาก array คือจะเอาค่าไปใส่ตรงไหนของ Code หรอครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 979
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

โพสต์โดย Patipat » 23/07/2019 4:49 pm

thatsawan เขียน:จะแก้ไขปัญหาได้ ต้องรู้ว่า error ที่ไหน เช็คเเต่ละบรรทัดก่อนว่าเป็นที่ไหน

โค้ด: เลือกทั้งหมด

$product_slisdershow = $params->get('selectid');
$setid = implode(",", $product_slisdershow);
print_r($setid);
exit();



ครับผมตอนนี้ get ค่าออกมาได้แล้วครับ
แต่ว่า ยังเออเร่อตอน select ข้อมูลครับ
Selection_999(377).png
Selection_999(377).png (50.76 KiB) เปิดดู 94 ครั้ง
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 979
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

โพสต์โดย Patipat » 23/07/2019 4:51 pm

tsukasaz เขียน:มัน Error ก่อนที่จะ print ค่าแล้วครับ

แล้วคำถามที่ว่าจะใส่ค่า ที่แปลงมาจาก array คือจะเอาค่าไปใส่ตรงไหนของ Code หรอครับ


ผมจะนำไปใส่ไว้ตรงนี้ครับ เปลี่ยนจาก $product_slisdershow เป็นตัวแปรที่แปลงมาครับ

โค้ด: เลือกทั้งหมด

->where('a.product_id in ('.$product_slisdershow.')'
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 10161
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: เรามีวิธีการ ใส่ค่า ที่เราแปลงมาจาก Array อย่างไรครับ

โพสต์โดย tsukasaz » 23/07/2019 5:07 pm

tsukasaz เขียน:ใช้คำสั่ง implode ไงครับ https://www.mindphp.com/%E0%B8%84%E0%B8 ... plode.html

โค้ด: เลือกทั้งหมด

implode(',', $product_slisdershow)


ก็ Copy Code แล้วเอาวางแทนที่ตัวแปรสิครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 7 และ บุคคลทั่วไป 0 ท่าน