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

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

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

Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

โค้ดที่จะนำค่า ไปแสดงข้อมูลครับ แต่ว่า ตรง ->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;
        } 
Kor ma di kub. :)
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 22002
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

ใช้คำสั่ง 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
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

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

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

$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) Viewed 596 times
Kor ma di kub. :)
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

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

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

$product_slisdershow = $params->get('selectid'); 
$setid = implode(",", $product_slisdershow);
print_r($setid);
exit();
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 22002
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

มัน 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
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

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) Viewed 587 times
Kor ma di kub. :)
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

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

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

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

->where('a.product_id in ('.$product_slisdershow.')') 
Kor ma di kub. :)
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 22002
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

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
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 6