Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามการเพิ่มข้อมูลลงดาต้าเบสค่ะ เป็นตารางความสัมพันธ์ งงมากค่ะ



 

สอบถามการเพิ่มข้อมูลลงดาต้าเบสค่ะ เป็นตารางความสัมพันธ์ งงมากค่ะ

 



Topic : 073406

Guest




คือมี ตารางแบบนี้ค่ะ นักศึกษา , สาขาวิชา , คณะ
ในตารางนักศึกษาเก็บ สาขาวิชาและคณะเก็บข้อมูลเป็น ID ค่ะ เป็นตารางความสัมพันธ์ค่ะ
คือมีปัญหาตอนจะสร้างฟอร์มเพิ่มข้อมูลนักศึกษาค่ะ ตรงสาขานั้นทำเป็นlistbox ให้เลือกค่ะ แต่ทำไปแล้วก็ลืมไปว่า
ตัวเองกำหนดฟิลสาขาในตารางนักศึกษาเป็น ID จะเก็บเป็น text เลยก็ไม่ได้ งงตรงนี้อ่ะค่ะ ควรจะทำฟอร์มแบบไหนดี

ช่วยหน่อยนะค่ะ

ขอบคุณมากๆค่ะ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-07 14:22:31 By : patty View : 1060 Reply : 7
 

 

No. 1



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


กำหนด id ที่ตัว value ใน option ของ select อีกทีครับ

<SELECT>
<OPTION value='รหัสคณะ'>ชื่อคณะ</OPTION>
<OPTION value='รหัสคณะ'>ชื่อคณะ</OPTION>
<OPTION value='รหัสคณะ'>ชื่อคณะ</OPTION>
</SELECT>

<SELECT>
<OPTION value='รหัสสาขา'>ชื่อสาขา</OPTION>
<OPTION value='รหัสสาขา'>ชื่อสาขา</OPTION>
<OPTION value='รหัสสาขา'>ชื่อสาขา</OPTION>
</SELECT>






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-07 14:44:59 By : Likito
 


 

No. 2



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ไม่รู้ว่าเข้าใจถูกรึป่าวนะครับ คือผมก็เคยเจอปัญหาคล้ายๆแบบนี้
วิธีที่ผมนำมาแก้คือ ตอนสั่งบันทึก ผมจะนำค่ามาเปรียบเทียบกับค่าที่มีในตารางนะครับ แล้วจึงค่อยเก็บลงฐานข้อมูล

อย่างที่ผมใช้ listmenu จะส่งค่ามาเป็นตัวเลข(ผมใช้ listmenu 3 ชั้นแล้วค่าที่มันใช้อ้างอิงจะเป็นตัวเลข) ก็จะนำตัวเลขที่ถูกลงมา นำมาคิวรีหาชื่อที่ตรงกับค่าที่ถูกส่งมาอีกที

ของคุณก็ใช้กลับกัน ใช้ชื่อมาเปรียบเทียบเพื่อหารหัสที่ตรงกันแล้วค่อยบันทึก

Code (PHP)
$strSQL1 = "SELECT * FROM type_ron WHERE type_id = '$type' "; //$type เป็นตัวเลข นำมาคิวรี
$objQuery1 = mysql_query($strSQL1);
$objResult1 = mysql_fetch_array($objQuery1);
$type1 = $objResult1['type']; //ส่งชื่อ(ข้อความ) ให้กับตัวแปร $type1

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-07 14:55:34 By : akkaneetha
 

 

No. 3

Guest


ลืมบอกค่ะ list menu นี้มาจากดาต้าเบสอีกทีค่ะ เป็น list แบบชั้นเดียว ยังงี้พอได้ค่าตัวอักษรจาก list menu มาแล้ว ก็ส่งมันไปเชคก่อนว่าตรงกับไอดีไหน แบบนี้หรือเปล่าค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-07 15:15:01 By : patty
 


 

No. 4



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
<SELECT name='faculty'>
<?php
$query = mysql_query("SELECT faculty_id,faculty_name FROM tb_faculty"); // SELECT id และ ชื่อคณะ จาก ตาราง tb_faculty
while($result = mysql_fetch_array($query)){
?>
   <OPTION VALUE='<?=$result["faculty_id"]; ?>'><?=$result["faculty_name"]; ?></OPTION>
<?php } ?>
</SELECT>


ลองประยุกต์ ดูครับ

ส่วน ที่ Display คือ ชื่อคณะ
แต่ value นั้น คือ รหัสคณะ

ตอน อ้างถึงหลังจาก sumit form มา ก็อ้าง ที่ตัว name
เช่น

สมมุติว่า sumit form มาด้วย method POST

echo $_POST["faculty"];

จะได้ค่าเป็น faculty_id ของที่เราเลือกไว้ ก่อน submit ครับ
แล้วค่อยเอา ค่านี้ ไป insert ใน ฐานข้อมูล
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-07 15:41:11 By : Likito
 


 

No. 5



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (PHP)
<option value="แสดง ID ที่ใช้อ้างอิงครับ">แสดงสิ่งที่จะโชว์ใน listmenu ให้ผู้ใช้เห็นครับ option>


พอบันทึกค่าที่จะถูกส่งไปบันทึกคือ ค่า ID ครับ ไม่ใช่ค่าที่แสดงเป็นตัวอักษรครับ ซึ่งค่าเหล่านั้นก็สามารถคิวรีมาจากฐานข้อมูลได้ครับ

เช่น
Code (PHP)
<?php
$strSQL = "SELECT * FROM Dep ORDER BY Dep_id";
$objQuery = mysql_query($strSQL)or die("Error Query [".$strSQL."]");
	while($objResult = mysql_fetch_array($objQuery))
	{
			?>
				<option value="<?=$objResult["Dep_id"];?>"><?=$objResult["Dep"];?>
				</option>
			<?
	}
?>

จากตัวอย่าง value="<?=$objResult["Dep_id"];?>" คือค่า ID ของคณะ
และ <?=$objResult["Dep"];?> จะเป็นชื่อคณะครับ
ผู้ใช้จะเห็นชื่อคณะจาก list แต่เมื่อบันทึกค่าที่ถูกส่งไปจะเป็น ID ครับ

ลองปรับใช้ดูนะครับ
ส่วนตอนรับค่าก็รับ แบบ POST ธรรมดาครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-07 15:47:08 By : akkaneetha
 


 

No. 6



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

หลักการเหมือนกับคุณ Likito
ตอบช้าไปนิด อิอิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-07 15:48:46 By : akkaneetha
 


 

No. 7

Guest


ขอบคุณคุณ Likito และคุณ Geng มากๆเลยค่ะ เข้าใจวิธีทำแล้วค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-07 16:07:20 By : patty
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามการเพิ่มข้อมูลลงดาต้าเบสค่ะ เป็นตารางความสัมพันธ์ งงมากค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่