เรียกใช้ อาเรย์ forech อย่างไรครับ

ถามตอบ ปัญหาการพัฒนา 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

เรียกใช้ อาเรย์ forech อย่างไรครับ

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

ตอนนี้ทำเพิ่มแคช Module อยู่ครับแต่ว่าติดปัญหา ไม่สามารถแสดงข้อมูลให้ถูกต้องได้ครับ ก็คือต้องมี รูป ชื่อสินค้า ราคาสินค้า
แต่ว่า มันแสดงแบบนี้ครับเลยคิดว่า น่าจะเป็นที่ Loop forech ครับ
Selection_999(1205).png
Selection_999(1205).png (2.09 KiB) Viewed 909 times
ส่วนโค้ดแสดงผลที่ว่า ถ้าแคชไม่มีก็ให้ไปดึงจากฐานข้อมูลแล้วนำไปใช้ในไฟล์ default.php

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

 if(!$setid) {
        $product_slisdershow = $params->get('selectids'); //เรียก id products 
        $helper_newproduct->newItem(implode(",",$product_slisdershow)); //เรียกจากฐานข้อมูล

        $setid = array('category_id' => $helper_newproduct->category_id , 
        'product_id' => $helper_newproduct->product_id, 
        'image' => $helper_newproduct->image, 
        'product_price' => $helper_newproduct->product_price);
        $cache->store($setid, $cacheid);
       
      }
โค้ดหน้า Default ครับ ไม่ทราบว่า เราจะนำ ค่า Array มาใช้ใน Forech อย่างไรครับ

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

<?php foreach ($setid as $product): ?>
                  <div>
                    <a href="<?php echo SEFLink('index.php?option=com_mooziicart&controller=product&task=view&category_id=' . $product['category_id'] . '&product_id=' . $product['product_id'], 1); ?>" > 
                      <center> <img src="<?php echo JUri::root() . 'components/com_mooziicart/files/img_products/' . $product['image'];?>" width="100px" heigh="100px" title="<?php echo $product['name_'.$lang_tag] ?>" alt="<?php echo $product['name_'.$lang_tag] ?>"></a><center>
                      <br>
                      <center> <?php echo ($product['name_'.$lang_tag])  ?><br></center>
                      <?php echo formatpriceMZC($product['product_price'])?> 
                  </div>
            </center>  
                <?php endforeach; ?>
Kor ma di kub. :)
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21991
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: เรียกใช้ อาเรย์ forech อย่างไรครับ

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

ต้องตรวจสอบโครงสร้างของ array ก่อนครับ
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: เรียกใช้ อาเรย์ forech อย่างไรครับ

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

ส่วนนี้ดึงจากฐานข้อมูลครับ

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

 $product_slisdershow = $params->get('selectids'); //เรียก id products 
        $data = $helper_newproduct->newItem(implode(",",$product_slisdershow)); //เรียกจากฐานข้อมูล
 
ผมใส่แบบนี้ไปแล้วมันเป็นค่าว่างครับ ไม่ทราบว่าตรงไหนผิดครับ

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

$setid = array('product_price' => $data->product_price);
Selection_999(1206).png
Selection_999(1206).png (2.14 KiB) Viewed 905 times
ส่วนที่ print_r ออกมาดูมันได้โครงสร้างแบบนี้ครับ
Selection_999(1207).png
Selection_999(1207).png (10.32 KiB) Viewed 905 times
Kor ma di kub. :)
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21991
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: เรียกใช้ อาเรย์ forech อย่างไรครับ

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

รูปภาพ

สมมุติค่าในภาพเก็บในตัวแปร $a แล้วจะใช้ foreach

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

foreach($a as $data)
{
    echo $data['category_id'];
}
ผลลัพท์ จะได้ 4 ถ้าอยากได้ค่าอื่นๆ ก็แค่เขียน $data['product_id'] หรือ $data['image'] ตามชื่อของมัน
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: เรียกใช้ อาเรย์ forech อย่างไรครับ

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

ได้แล้วครับขอบคุณครับ
Kor ma di kub. :)
ตอบกลับโพส

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

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