ถามตอบ ปัญหาการพัฒนา 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 »
อยากทราบวิธีแสดง
ข้อมูลให้ไม่ซ้ำกันครับตอนนี้ข้อมูลซ้ำกันตอนแสดง มันไปแสดงข้อมูลที่มีอยู่ทั้งหมดครับ คืออยาก
วนลูปแล้วให้ภาพ 1 2 3 ไม่ซ้ำกันครับ
ในภาพทำเป็นสไลด์โชว์ครับ
ปัญหาคือ อยากทราบวิธีการวนลูป
ให้รูปแรกเป็นสินค้าที่1 รูปที่สองเป็นสินค้าที่2 รูปที่สามเป็นสินค้าที่3
- Selection_999(261).png (25.66 KiB) Viewed 1049 times
โค้ดที่ใช้
โค้ด: เลือกทั้งหมด
<div class="slider demo">
<div>
<center>
<?php foreach ($productsnew as $product):?>
<?php
$i=1;
while($i<=2)
{
echo '<img src="=img_products/'. $product['image'] .'" width=100px height=100px/>';
?>
</div>
<center><div> <?php echo '<img src="=img_products/'. $product['image'] .'" width=100px height=100px/>';?> </div></center>
<center><div> <?php echo '<img src="=files/img_products/'. $product['image'] .'" width=100px height=100px/>';?></div> </center>
<?php
$i++;
}
?>
<?php endforeach;?>
</div>
โค้ดที่ใช้ดึงข้อมูลครับ
โค้ด: เลือกทั้งหมด
class ModShowProductNewItem
{
public function newItem()
{
$db = Joomla\CMS\Factory::getDbo();
$query = $db ->getQuery(true)
->select('*')
->from('products')
->order('product_id DESC ');
$db->setQuery($query);
$items = $db ->loadAssocList();
return $items;
}
}
Kor ma di kub.
-
tsukasaz
- PHP VIP Members
- โพสต์: 22163
- ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย tsukasaz »
ตอนนี้เหมือนโค้ดที่เขียนมามันเป็นลูป 2 ชั้นซ้อนกันอยู่นะครับ และ จากโค้ดที่เขียนคือ ลูป 1 รอบ จะแสดงรูปเดิม 3 อัน
สรุป ในลูป 1 รอบ ควรจะเขียนให้แสดงรูปภาพแค่ภาพเดียวครับ และ ใช้ลูปชั้นเดียวก็พอครับ
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 »
- ลูป1รอบ ต้องใช้
while($i<=2) จากเลข2 ให้เปลี่ยนเป็นเลข1 ใช่ไหมครับ
- แล้วลูป ชั้น เดียวก็คือ ให้ $i++; ไปใส่ไว้ใต้ <div> แรก ใช่ไหมครับ
- แล้ว <div> ที่เหลือต้องใส่ลูปแสดงแบบไหนครับ
Kor ma di kub.
-
tsukasaz
- PHP VIP Members
- โพสต์: 22163
- ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย tsukasaz »
Patipat เขียน:- ลูป1รอบ ต้องใช้
while($i<=2) จากเลข2 ให้เปลี่ยนเป็นเลข1 ใช่ไหมครับ
- แล้วลูป ชั้น เดียวก็คือ ให้ $i++; ไปใส่ไว้ใต้ <div> แรก ใช่ไหมครับ
- แล้ว <div> ที่เหลือต้องใส่ลูปแสดงแบบไหนครับ
ไม่ใช่ครับ จุดประสงค์คือเราจะดึงรูปภาพสินค้ามาแสดง เพราะฉะนั้น loop ควรจะเป็นค่าของสินค้า ตามจำนวนสินค้าที่ดึงออกมาได้จริงๆ
เหมือนกับเวลาเราดึงข้อมูลสินค้ามาแสดงในตาราง หรือ แสดงเป็น list อะครับ ทำเหมือนกันเลย
เอางี้ครับ ตัด while($i<=2) ออกไปเลย เลิกใช้ไปเลย เอาแค่ foreach ค่าจากตัวแปรอย่างเดียว
ถ้าสามารถดึงชื่อสินค้ามาเรียงกันได้ ก็ต้องดึงรูปมาแสดงเรียงกันได้ มันหลักการเดียวกันครับ
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 »
ครับผมแต่ว่ามันก็ยังขึ้นเป็นรูปเดียวอยู่ครับ ตอนนียังไม่แน่ใจว่า จะให้มันแสดง อีก <div> นึงได้อย่างไรโดยที่รูป เป็นคนล่ะรูปกันครับ
Kor ma di kub.
-
tsukasaz
- PHP VIP Members
- โพสต์: 22163
- ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย tsukasaz »
Patipat เขียน:ครับผมแต่ว่ามันก็ยังขึ้นเป็นรูปเดียวอยู่ครับ ตอนนียังไม่แน่ใจว่า จะให้มันแสดง อีก <div> นึงได้อย่างไรโดยที่รูป เป็นคนล่ะรูปกันครับ
ลูปจากข้อมูลอะไรครับ แล้วข้อมูลนั้นมีจำนวนเท่าไหร่ ลองเช็คค่าดูก่อนครับ ว่าข้อมูลมีอะไรบ้าง
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 »
ผมจะลูปจาก ข้อมูลรูปภาพครับ ชื่อ และ ราคาครับ ในตอนเรียกใช้ ผมกำหนดไว้ว่า ให้เรียง id ของ product ที่เพิ่มเข้ามาล่าสุด ครับแล้วก็กำหนดให้มีลิมิตแค่ 3 ครับ
Kor ma di kub.
-
tsukasaz
- PHP VIP Members
- โพสต์: 22163
- ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
โพสต์ที่ยังไม่ได้อ่าน
โดย tsukasaz »
แล้วข้อมูลจากฐานมีกี่รายการครับ ลอง print_r มาดู
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 100