ถามตอบ ปัญหาการพัฒนา Extension ไม่ว่าจะเป็น Module plugin Component หรือ แม้แต่ template การปรับแต่งโค้ด Joomla ต่างๆ ทุกเวอร์ชั่น 1.5 2.5 หรือ 3.x
Moderator: mindphp , ผู้ดูแลกระดาน
Patipat
PHP Super Hero Member
โพสต์: 996 ลงทะเบียนเมื่อ: 10/06/2019 10:12 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Patipat » 08/07/2019 7:13 pm
โค้ด: เลือกทั้งหมด
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;
}
}
Kor ma di kub.
tsukasaz
PHP VIP Members
โพสต์: 21997 ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย 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
โพสต์: 996 ลงทะเบียนเมื่อ: 10/06/2019 10:12 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Patipat » 09/07/2019 10:55 am
ในโค้ดรูปแบบนี้ มีวิธีการเขียน Join table อย่างไรครับ เช่น ตาราง orders กับ ตาราง product
โค้ด: เลือกทั้งหมด
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;
}
}
Kor ma di kub.
tsukasaz
PHP VIP Members
โพสต์: 21997 ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย tsukasaz » 09/07/2019 11:03 am
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995 )
Patipat
PHP Super Hero Member
โพสต์: 996 ลงทะเบียนเมื่อ: 10/06/2019 10:12 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Patipat » 09/07/2019 12:10 pm
มันขึ้นแบบนี้ครับ มันบอกว่าไม่รู้จัก field นี้ รูปแบบการ join ถูกหรือเปล่าครับ แต่ #__mzc_products.image ก็มี field ของ image นะครับ
Selection_999(227).png (52.2 KiB) Viewed 464 times
โค้ดของ การ JOIN 2 ตาราง
โค้ด: เลือกทั้งหมด
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;
}
}
Kor ma di kub.
tsukasaz
PHP VIP Members
โพสต์: 21997 ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย 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 )
Patipat
PHP Super Hero Member
โพสต์: 996 ลงทะเบียนเมื่อ: 10/06/2019 10:12 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Patipat » 09/07/2019 3:21 pm
ตอนนี้ เรียงสินค้าที่ขายได้ล่าสุด ได้แล้วครับแต่ว่าตอนแสดงผล
อยากทำให้แสดงผลล่าสุดแค่ 3 อย่าง ครับแต่ในภาพ
มันแสดงทั้งหมดที่ขายได้ล่าสุดครับ
Selection_999(239).png (99.62 KiB) Viewed 371 times
ตัวอย่างโค๊ดครับ อยากทราบว่าใส่
LIMIT ได้มั้ยคับ
โค้ด: เลือกทั้งหมด
class ShowOrderItems{
public function showItem()
{
$db = Joomla\CMS\Factory::getDbo();
$query = $db->getQuery(true)
->select('a, b)
->from('item AS b')
->leftJoin('products AS a ON a.product_id = b.product_id')
->order('b.order_item_id DESC');
$db->setQuery($query);
$orderitem = $db ->loadAssocList();
return $orderitem;
}
}
แก้ไขล่าสุดโดย
Patipat เมื่อ 09/07/2019 3:26 pm, แก้ไขไปแล้ว 1 ครั้ง.
Kor ma di kub.
tsukasaz
PHP VIP Members
โพสต์: 21997 ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย tsukasaz » 09/07/2019 3:22 pm
กำหนด limit ครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995 )
Patipat
PHP Super Hero Member
โพสต์: 996 ลงทะเบียนเมื่อ: 10/06/2019 10:12 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Patipat » 09/07/2019 3:30 pm
ได้แล้วครับผมขอบคุณครับ กำหนด LIMIT ต่อจาก DESC เลยครับ
Kor ma di kub.
สมาชิกกำลังดูบอร์ดนี้: Itadm และบุคลทั่วไป 105