พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
PHP development / การแสดงข้อมูลแบบ Select
guest
guest
Tue 27 Sep 2005 10:46:59

มาอีกแล้วครับทั่น วันนี้มาแบบ ยากหน่อย คือ ผมอยาก แสดงข้อมูลแบบ Select เพื่อให้ ผู้ใช้เลือกน่ะครับ สมมติว่าผมมี อยู 2 ฟิลด์ ใน 1 เทเบิ้ล คือ ID กับ Name ผมอยากให้ ในช่อง Select มีข้อมูลทั้งหมดในเทเบิล(คือว่า โชว์ออกมาเลย) ในส่วนของฟิลด์ ID น่ะครับ พอ คลิ๊ก Select แล้ว ให้ ช่อง Text แสดงข้อมูล Name ในส่วนที่เลือกออกมาน่ะครับ ...ไม่รู้ว่ายากไปเปล่าครับ...

เหมือนกันว่า เรา Select เลือก รหัสประเทศ แล้วให้ข้อมูลประเทศโชว์ออกมาน่ะครับ เพียงแต่ว่า ใน Select เราดึงข้อมูลมาจาก Table ครับ

Administrator
Tue 27 Sep 2005 20:16:00
ต้องขอโทษด้วยนะครับเพิ่งกลับมา เลยตอบช้าไปหน่อย
ไม่แน่ใจว่าที่ผมเข้าใจถูกต้องหรือเปล่านะครับ
ถ้าต้องการนำข้อมูลใน select ไปใส่ใน textbox ก็สามารถทำได้ครับ เช่น
<script language="javascript">
function sendValue(obj){
    var theForm = obj.form;
    theForm.textValue.value = obj.value;
}
</script>

<form>
<select onchange="sendValue(this)">
<?
//...สร้าง connection
//...ทำการ select ข้อมูลออกมา
while($row = @mysql_fetch_array($res, MYSQL_ASSOC)){
    echo "<option value=\"".$row["data"]."\">".$row["id"]."</option>";
}
//...ทำลาย connection
?>
</select>

<input type="text" name="textValue">
</form>

ลองนำไปประยุกต์ดูนะครับ ถ้าผมตอบไม่ตรงคำถาม กรุณาแจ้งอีกทีนะครับ
guest
guest
Wed 28 Sep 2005 09:48:54

ขอบคุณครับ....ผมเอาไปประยุกต์ใช้แล้ว...ใช้ได้เลยครับ....ไว้โอกาสหน้าจะมารบกวนใหม่นะครับ...ขอให้ กระทู้ที่ผมตั้งไปนี้เป็นประโยชน์กับผู้ที่สนใจนะครับ

chickynaja
chickynaja
Sun 2 Oct 2005 03:52:54

มีเรื่องมารบกวนหน่อยอ่ะคะ...คือว่าลองอ่านโค้ดที่เกียวกับการ select หลายอันแล้วแต่งงโค้ดอ่ะคะ เลยมารบกวนขอโค้ดหน่อยได้มั๊ยอ่ะคะ

     คือว่ามี select 2 อันอ่ะคะ อันแรกเปนการ select จังหวัด ส่วนอันที่ 2 เป็นการ select อำเภอ ถ้าเลือกจังหวัดแล้วรายชื่ออำเภอในจังหวัดนั้นมันจะขึ้นมาใน select อันที่ 2 อ่ะคะ

      โดยที่ข้อมูลดึงมา database มีตารางของจังหวัด แล้วก้อตารางของอำเภอ แต่ 2 อันนี้มันมี relation กันอยู่อ่ะคะ

     อยากได้โค้ดทั้งหมดเลยอ่ะคะตั้งแต่ติดต่อกะฐานข้อมูล รบกวนด้วยนะคะ

***มันเป็นโปรเจคอ่ะคะ แล้วต้องส่งอีกไม่กี่วันแล้ว รบกวนตอบด้วยนะคะ***

***ถ้าไม่รบกวนจนเกินไปส่งโค้ดมาทาง e-mail ให้หน่อยนะคะ  chutiya_p@hotmail.com***

Administrator
Sun 2 Oct 2005 16:06:35
สมมติว่ามี 2 ตารางใน database คือ
province (
    pid int(3)      //id ของจังหวัด
    province varchar(60)      //ชื่อจัหวัด
)

district (
    did int(5)      //id ของเขต
    pid int(3)      //id ของจังหวัดที่เขตสังกัด
    district varchar(60)      //ชื่อของเขต
)

และ form มี 2 object คือ province และ district

<?
//เริ่มทำการติดต่อ database
$conn = mysql_connect("localhost","uid","password");
//ทำการเลือกฐานข้อมูล
mysql_select_db("db_name", $conn);
//ทำการ query จังหัวดทั้งหมด
$res = mysql_query("SELECT * FROM province", $conn);
//เริ่มทำการแสดงผลไปยัง browser ในส่วนของ javascript
echo "<script language="javascript">";
//แสดงผลฟังก์ชั่นของ javascript
echo "function chooseProvince(obj){";
echo "var theForm = obj.form;";
echo "switch(obj.value){";
while($row = mysql_fetch_array($res, MYSQL_ASSOC)){
echo "case '".$row["pid"]."': {";
$result = mysql_query("SELECT * FROM district WHERE pid=".$row["pid"], $conn);
$i = 0;
while($r_result = mysql_fetch_array($result, MYSQL_ASSOC)){
    echo "theForm.district.options[".$i."] = new Option('".$r_result["district"]."','".$r_result["did"]."');";
}
mysql_free_result($result);
echo "} break;";
}
echo "}";
echo "};";
echo "</script>";
mysql_free_result($res);
mysql_close($conn);
?>
มาเริ่มที่ส่วนของ form กัน

<form>
<select name="province" onchange="chooseProvince(this)"><? $conn = mysql_connect("localhost","uid","pass"); mysql_select_db("db_name", $conn); $res = mysql_query("SELECT * FROM province", $conn); while($row = mysql_fetch_array($res, MYSQL_ASSOC)){echo "<option value=\"".$row["pid"]."\">".$row["province"]."</option>"; } mysql_free_result($res); mysql_close($conn); ?></select>

<select name="district"></select>
</form>

ประมาณนี้ล่ะครับ โค๊ดนี้ผมไม่ได้เอาของจริงที่ผ่านการทดสอบแล้วมาให้นะครับ ด้นกันให้สดๆเลย ต้องขออภัยด้วยนะครับถ้ามีจุดไหนผิดพลาด จริงๆอยากให้เอาแนวคิดไปประยุกต์เอามากกว่าครับ
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