พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
PHP development / สร้างเมนูจาก Code select
shorkung
shorkung
Tue 18 Jul 2006 10:16:57

ถ้ามีตัวเลือกในช่อง select น้อยๆ ก็สร้างแบบปรกติได้ แต่บางทีตัวเลือกมีประมาณ 100 ตัวเลือก มันเยอะเกินไปที่จะเขียนลงไปก็เลยคิดว่าน่าจะมีการเขียน code PHP เพื่อให้บรรทัดที่ออกมาน้อยกว่านะครับ

     โดยผมได้สร้างฐานข้อมูลขึ้นมาด้วย โดยผมสร้างฐานข้อมูลชื่อว่า member  แล้วมี เรคคอร์ดย่อยชื่อว่า counter

     1. ถ้าจะสร้างตัวเลือกเป็นชื่อประเทศแต่ละประเทศ แล้วทำเป็นเมนูแบบที่ผมว่า โดยเวลาเลือกที่ชื่อประเทศแล้ว ชื่อของประเทศนั้นๆ ก็จะถูกเลือกเข้าสู่ฐานข้อมูล

     2. จากข้อ 1. ถ้าผมต้องการเพิ่มให้ส่วนที่เลือกมีการโชว์รูปธงของแต่ละประเทศด้วย โดยเวลาเลือกที่ชื่อของประเทศไหน รูปของประเทศนั้นๆ ก็จะแสดงขึ้นมาตอนที่เลือกชื่อด้วย โดยรูปผมจะเก็บไว้อีกโฟลเดอร์นึง แล้วชื่อของรูปธงที่ผมเอามาจะเป็นชื่อเดียวกับชื่อของประเทศที่มีให้เลือก (ที่ทำรูปของธงให้มีชื่อเหมือนกับชื่อของตัวเลือกที่ให้แสดงก็เพราะว่า เวลาจะเพิ่มหรือลดจำนวนชื่อของชาติต่างๆ จะได้แก้ไขได้ง่ายนะครับ ถ้ารูปธงมีชื่อเป็นตัวเลข เวลาแก้ไขเพิ่มหรือลดจะต้องมานั่งแก้ไขชื่อใหม่)

     3. ถ้าจะสร้างตัวเลือกเป็นปีเกิด โดยมีจำนวน 4 หลัก เริ่มตั้งแต่ปี 1930 จนถึงปัจจุบัน  โดยเวลาเลือกที่ปีเกิดแล้ว ตัวเลขปีเกิดจะถูกเลือกเข้าสู่ฐานข้อมูล

สงสัยประมาณ 3 ข้อนี้นะครับ ใครพอช่วยได้ช่วยหน่อยนะครับ

Administrator
Tue 18 Jul 2006 10:35:17
1. ถ้าจะเอาออกมาจากฐานข้อมูลก็
<select name="country">
<?
//สร้าง connection และ query
while($row = mysql_fetch_array($res, MYSQL_ASSOC)){
    echo "<option value=\"".$row["fieldname"]."\">".$row["fieldname"]."</option>";
}
//Free resource และปิด connection
?>
</select>

2. ถ้าเป็นผมจะโหลดรูปเมื่อมีการเลือกประเทศนั้นๆเท่านั้น (โหลดรูปธงทั้ง 150 ประเทศไม่สนุกแน่) ก็ใช้ประโยชน์จาก Select ที่เขาไปเลือกไว้นั่นล่ะครับ ใส่
<script language="javascript" type="text/javascript">
function showFlag(id, val){
    var obj = document.all?document.all[id]:document.getElementById(id);
    obj.src = 'flags/' + val;
    obj.style.display = '';
}
</script>

<select name="country" onchange="showFlag('flag', this.value)">
.....
</select>
<img src="" id="flag" style="display:none">

3. ก็คล้ายๆกับข้อ 1 ครับ loop เพื่อแสดงข้อมูลลงใน select เท่านั้นครับ

ส่วนที่ว่าจะเอาข้อมูลเหล่านี้ลงในฐานข้อมูลก็เพียงรับค่าเหล่านี้ลงไปบันทึกเท่านั้นครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login