Page 2 of 3

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

Posted: 08/07/2019 7:10 pm
by Patipat
พอใส่ไปแล้วขึ้น Error ทั้งหน้าเว็บเลยครับ

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

Posted: 08/07/2019 7:11 pm
by tsukasaz
เช็คโค้ดดูครับ คำว่า -> ต้องไม่มีเว้นวรรคทั้งหน้าและหลัง แปะโค้ดมาดูก็ได้ครับ

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

Posted: 08/07/2019 7:13 pm
by Patipat

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;
            }
    }

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

Posted: 08/07/2019 7:58 pm
by tsukasaz
ลบเครื่องหมาย ; หลัง ->from('table) ออก

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

Posted: 09/07/2019 10:55 am
by Patipat
ในโค้ดรูปแบบนี้ มีวิธีการเขียน 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;
            }
    }

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

Posted: 09/07/2019 11:03 am
by tsukasaz
ในเว็บของ Joomla มีตัวอย่างโค้ดครับ https://docs.joomla.org/Selecting_data_ ... ple_Tables

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

Posted: 09/07/2019 12:10 pm
by Patipat
มันขึ้นแบบนี้ครับ มันบอกว่าไม่รู้จัก field นี้ รูปแบบการ join ถูกหรือเปล่าครับ แต่ #__mzc_products.image ก็มี field ของ image นะครับ
Selection_999(227).png
Selection_999(227).png (52.2 KiB) Viewed 130 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;
            }
    }

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

Posted: 09/07/2019 1:04 pm
by tsukasaz
ตรงส่วน select ตาราง #__mzc_products เราตั้งเป็น product เฉยๆ แล้วนะครับ จากโค้ด ลองเปลี่ยนเป็น product เฉยๆ แทน

ลองเขียนเป็นคำสั่ง sql ธรรมดาก่อน ใน phpmyadmin ให้มันรันได้ผลลัพที่ถูกต้องก่อนก็ได้ครับ ค่อยมาเขียนใน Joomla