อยากให้แสดงชื่อสินค้าแบบสุ่มครับ

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

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

User avatar
jamepiyawat
PHP VIP Members
PHP VIP Members
Posts: 1494
Joined: 21/05/2019 10:45 am

อยากให้แสดงชื่อสินค้าแบบสุ่มครับ

Post by jamepiyawat » 09/07/2019 11:19 am

พอดีว่าผมกำลังจะสร้าง modules ครับพอที่จะเขียนให้แสดงข้อมูลชื่อสินค้าออกมาได้แล้วแต่ว่าผมไม่ทราบว่าจะให้ชื่อสิ้นค้าพวกนี้สุ่มออกมาได้ยังไง

จึงอยากจะทราบว่าจะมีวิธีใดที่จะให้รายชื่อสินค้าที่เราดึงออกมาแล้วแสดงแบบสุ่มได้บ้างครับ
Selection_923.png
Selection_923.png (98.4 KiB) Viewed 167 times
โค้นที่ใช้ในไฟล์ halper ครับ

Code: Select all

class ModxxxHelper
{
  Public function getItems()
  {
    $db = joomla\CMS\Factory::getDbo();
    $query = $db->getQuery(true)
                ->select('*')
                ->from('#__mzc_products');
    $db->setQuery($query);

    $items = $db->loadAssocList();

    return $items;
  }
} 

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

Re: อยากให้แสดงชื่อสินค้าแบบสุ่มครับ

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

ลองใช้คำสั่ง RAND() ของ MySQL ดูครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22600
Joined: 22/09/2008 6:18 pm
Contact:

Re: อยากให้แสดงชื่อสินค้าแบบสุ่มครับ

Post by mindphp » 09/07/2019 11:28 am

ลองดูที่นี่
viewtopic.php?p=23938#p23938
เค้าใช้ หลักการ random โดยใช้ฟังก์ชั่นใน ฐานข้อมูล

แต่วิธีนี้ ถ้าฐานข้อมูลขนาดใหญ่ จะทำงานใช้

ลองดูจากโมดูล ใน core ของ Joomla ก็ได้ครับ มีโมดูลสำหรับ random บทความ ให้ศึกษาเป็นแนวทาง
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

User avatar
jamepiyawat
PHP VIP Members
PHP VIP Members
Posts: 1494
Joined: 21/05/2019 10:45 am

Re: อยากให้แสดงชื่อสินค้าแบบสุ่มครับ

Post by jamepiyawat » 09/07/2019 3:02 pm

ลองใช้คำสั่ง RAND() ของ MySQL แล้วครับ

Code: Select all

SELECT * FROM `tq87v_mzc_products` ORDER BY RAND() LIMIT 2
แต่ผมไม่ทราบว่าจะเอาคำสั่งนี้ไปใส่ตรงไหน ครับ

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

Re: อยากให้แสดงชื่อสินค้าแบบสุ่มครับ

Post by tsukasaz » 09/07/2019 3:20 pm

jamepiyawat wrote:

Code: Select all

class ModxxxHelper
{
  Public function getItems()
  {
    $db = joomla\CMS\Factory::getDbo();
    $query = $db->getQuery(true)
                ->select('*')
                ->from('#__mzc_products');
    $db->setQuery($query);

    $items = $db->loadAssocList();

    return $items;
  }
} 
jamepiyawat wrote:ลองใช้คำสั่ง RAND() ของ MySQL แล้วครับ

Code: Select all

SELECT * FROM `tq87v_mzc_products` ORDER BY RAND() LIMIT 2
แต่ผมไม่ทราบว่าจะเอาคำสั่งนี้ไปใส่ตรงไหน ครับ
เอามาลองแทนค่าใน joomla ดูครับ ส่วน ORDER BY ก็เขียน ->order('xxxxxxxxxxxx') ต่อไป
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

User avatar
jamepiyawat
PHP VIP Members
PHP VIP Members
Posts: 1494
Joined: 21/05/2019 10:45 am

Re: อยากให้แสดงชื่อสินค้าแบบสุ่มครับ

Post by jamepiyawat » 09/07/2019 4:18 pm

ทำได้แล้วครับต้องเพิ่มคำสั่งนี้ลงไป ครับ

Code: Select all

->order('RAND()','product_id');

Post Reply

Return to “Joomla Development”

Users browsing this forum: No registered users and 1 guest