Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

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

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

Patipat
PHP Super Hero Member
PHP Super Hero Member
Posts: 996
Joined: 10/06/2019 10:12 am

Re: Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

Post by Patipat » 08/07/2019 7:10 pm

พอใส่ไปแล้วขึ้น Error ทั้งหน้าเว็บเลยครับ
Attachments
Selection_999(220).png
Selection_999(220).png (54.84 KiB) Viewed 158 times
If you fall, let you stand. :)

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10489
Joined: 18/04/2012 9:39 am

Re: Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

Post by tsukasaz » 08/07/2019 7:11 pm

เช็คโค้ดดูครับ คำว่า -> ต้องไม่มีเว้นวรรคทั้งหน้าและหลัง แปะโค้ดมาดูก็ได้ครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

Patipat
PHP Super Hero Member
PHP Super Hero Member
Posts: 996
Joined: 10/06/2019 10:12 am

Re: Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

Post by Patipat » 08/07/2019 7:13 pm

Code: Select all

class ShowOrderItems{
            public function showItem()
            {
                $db = Joomla\CMS\Factory::getDbo();
                $query = $db ->getQuery(true)
                        ->select('*')
                        ->from('table);
                        ->order('orderid DESC');
                        $db->setQuery($query);

                    $orderitem = $db ->loadAssocList();
                    return $orderitem;
            }
    }
If you fall, let you stand. :)

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10489
Joined: 18/04/2012 9:39 am

Re: Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

Post by tsukasaz » 08/07/2019 7:58 pm

ลบเครื่องหมาย ; หลัง ->from('table) ออก
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

Patipat
PHP Super Hero Member
PHP Super Hero Member
Posts: 996
Joined: 10/06/2019 10:12 am

Re: Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

Post by Patipat » 09/07/2019 10:55 am

ในโค้ดรูปแบบนี้ มีวิธีการเขียน Join table อย่างไรครับ เช่น ตาราง orders กับ ตาราง product

Code: Select all

class ShowOrderItems{
            public function showItem()
            {
                $db = Joomla\CMS\Factory::getDbo();
                $query = $db ->getQuery(true)
                        ->select('*')
                        ->from('table)
                        ->order('orderid DESC');
                        $db->setQuery($query);

                    $orderitem = $db ->loadAssocList();
                    return $orderitem;
            }
    }
If you fall, let you stand. :)

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10489
Joined: 18/04/2012 9:39 am

Re: Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

Post by tsukasaz » 09/07/2019 11:03 am

ในเว็บของ Joomla มีตัวอย่างโค้ดครับ https://docs.joomla.org/Selecting_data_ ... ple_Tables
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

Patipat
PHP Super Hero Member
PHP Super Hero Member
Posts: 996
Joined: 10/06/2019 10:12 am

Re: Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

Post by Patipat » 09/07/2019 12:10 pm

มันขึ้นแบบนี้ครับ มันบอกว่าไม่รู้จัก field นี้ รูปแบบการ join ถูกหรือเปล่าครับ แต่ #__mzc_products.image ก็มี field ของ image นะครับ
Selection_999(227).png
Selection_999(227).png (52.2 KiB) Viewed 133 times

โค้ดของ การ JOIN 2 ตาราง

Code: Select all

class ShowOrderItems{
            public function showItem()
            {
                $db = Joomla\CMS\Factory::getDbo();
                $query = $db ->getQuery(true)
                
                ->select('#__mzc_products.image, #__mzc_products.name_en_GB, #__mzc_products.product_price')
                ->from ($db->quoteName ('#__mzc_products','product'))
                ->join('LEFT', $db->quoteName('#__mzc_order_item', 'order_item') . ' ON (' . $db->quoteName('order_item.product_id') . ' = ' . $db->quoteName('product.product_id') . ')')
                ->where($db->quoteName('order_item.order_item_id')."=".$db->quote('product.product_id'))
                ->order('order_item_id DESC');
                $db->setQuery($query);

                    $orderitem = $db ->loadAssocList();
                    return $orderitem;
            }
    }
If you fall, let you stand. :)

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10489
Joined: 18/04/2012 9:39 am

Re: Q - มีวิธีการสร้างตัวแสดงสินค้า ให้แสดงสินค้าขายล่าสุดไหมครับ

Post by tsukasaz » 09/07/2019 1:04 pm

ตรงส่วน select ตาราง #__mzc_products เราตั้งเป็น product เฉยๆ แล้วนะครับ จากโค้ด ลองเปลี่ยนเป็น product เฉยๆ แทน

ลองเขียนเป็นคำสั่ง sql ธรรมดาก่อน ใน phpmyadmin ให้มันรันได้ผลลัพที่ถูกต้องก่อนก็ได้ครับ ค่อยมาเขียนใน Joomla
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

Post Reply

Return to “Joomla Development”

Who is online

Users browsing this forum: No registered users and 1 guest