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

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

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

ภาพประจำตัวสมาชิก
jamepiyawat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 659
ลงทะเบียนเมื่อ: 21/05/2019 10:45 am

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

โพสต์โดย jamepiyawat » 09/07/2019 11:19 am

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

จึงอยากจะทราบว่าจะมีวิธีใดที่จะให้รายชื่อสินค้าที่เราดึงออกมาแล้วแสดงแบบสุ่มได้บ้างครับ

Selection_923.png
Selection_923.png (98.4 KiB) เปิดดู 98 ครั้ง


โค้นที่ใช้ในไฟล์ halper ครับ

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

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

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 9961
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์โดย tsukasaz » 09/07/2019 11:25 am

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

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 21058
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์โดย 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
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

ภาพประจำตัวสมาชิก
jamepiyawat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 659
ลงทะเบียนเมื่อ: 21/05/2019 10:45 am

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

โพสต์โดย jamepiyawat » 09/07/2019 3:02 pm

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

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

SELECT * FROM `tq87v_mzc_products` ORDER BY RAND() LIMIT 2


แต่ผมไม่ทราบว่าจะเอาคำสั่งนี้ไปใส่ตรงไหน ครับ

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 9961
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์โดย tsukasaz » 09/07/2019 3:20 pm

jamepiyawat เขียน:

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

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 เขียน:ลองใช้คำสั่ง RAND() ของ MySQL แล้วครับ

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

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)

ภาพประจำตัวสมาชิก
jamepiyawat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 659
ลงทะเบียนเมื่อ: 21/05/2019 10:45 am

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

โพสต์โดย jamepiyawat » 09/07/2019 4:18 pm

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

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

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


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 7 และ บุคคลทั่วไป 0 ท่าน