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 > ขอคำแนะนำด้วยครับเกี่ยวกับ PHP การใช้ตารางฐานข้อมูลครับ



 

ขอคำแนะนำด้วยครับเกี่ยวกับ PHP การใช้ตารางฐานข้อมูลครับ

 



Topic : 102708

Guest




กรณีที่ 1.ตอนนี้ผม มี 2 ตารางที่เชื่อมกัน ตัวอย่าง

ตารางนักเรียน มี รหัสนักศีกษาเป็น PK
ตารางสถานประกอบการ มี ชื่อสถานประกอบการเป็น PK มี รหัสนักศีกษาเป็น FK(มาจากตารางนักเรียน)

โดยทำการเก็บข้อมูลด้วย FROM 1-2 ตามลำดับ

กรณีที่ 2.ถ้าผมตัดปัญาหาโดยการยุบ 2 ตารางให้เหลือตารางเดียว แล้วใช้ From1 ในการเก็บข้อมูลทั้งหมด

ยุบ 2 ตารางเปลี่ยนเป็น ตารางทะเบียนขอฝึกงาน มี รหัสระดับขอฝึกงาน เป็น PK รหัสนักศึกษา FK (มาจากตารางระบบLoginโดยใช้รหัสนักศึกษา เป็น ID เก็บเป็น PK)


\\ผมอยากจะรู้ว่า ระหว่างกรณีที่ 1-2 อันไหนดีกว่ากันครับโดยใช้ SQL PHP ในการบันทึกข้อมูล

กรณี 3 จาก 2 กรณีข้างต้นทางผู้ใช้งานต้องการให้เก็บ ชื่อบริษัท ไม่ให้ซ้ำกัน โดยเก็บรหัสบริษัทใหม่แบบอัตโนมัติเพื่อสะดวกต่อการเลือกพิมพ์ใบส่งตัว โดยตารางนี้จะแสดงแบบ รายชื่อบริษัททั้งหมด และในชื่อนั้นจะมีนักศึกษาลงทะเบียนกี่คน

อธิบายตัวอย่างกรณีที่สาม

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

ซึ่งกรณีนี้ต้องสร้างไงครับแนะนำหน่อยครับ

ให้ตัวอย่างตารางบริษัท

มี ชื่อบริษัท เป็น PK(สามารถคีย์ซ้ำตอนลงทะเบียนได้) รหัสบริษัท รันเองอัตโนมัติ (เก็บชื่อในตารางไม่ให้ซ้ำกัน)

เขียนเอง งง เองครับขอบอก พอจะเห็นภาพไหมครับ



Tag : PHP, MySQL, HTML/CSS, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-11-15 16:16:46 By : Aok View : 864 Reply : 8
 

 

No. 1

Guest


แยกตารางแบบละเอียด ข้อดี ข้อมูลมีระบบระเบียบ แต่ สกิลของคุณต้องดี เทคนิคคิวรี่ต้องเก่ง

รวมตารางเข้าด้วยกัน ข้อดี คิวรี่ง่ายใช้เทคนิคพื้นๆก็รันได้ แต่ข้อมูลไม่เป็นระเบียบและอาจเกิดการซ้ำซ้อนได้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-15 16:35:29 By : Ohy
 


 

No. 2



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

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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

หลักๆควรมีสามตารางครับ

1. ตารางนักศึกษา (รหัสนักศึกษา เป็น PK)
2. ตารางสถานประกอบการ (รหัสสถานประกอบการ เป็น PK)
3. ตารางเก็บข้อมูลฝึกงานของนักศึกษา
(รหัส(auto ก็ได้)ของ record เป็น PK)
(รหัสนักศึกษา เป็น FK)
(รหัสสถานประกอบการ เป็น FK)

แค่นี้น่าจะพอได้แล้วครับ


ประวัติการแก้ไข
2013-11-15 16:41:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-15 16:41:18 By : mangkunzo
 

 

No. 3

Guest


ตอบความคิดเห็นที่ : 2 เขียนโดย : mangkunzo เมื่อวันที่ 2013-11-15 16:41:18
รายละเอียดของการตอบ ::
จากความเห็นของ NO.2 นะครับ เรื่องตารางนักศึกษา (รหัสนักศึกษา เป็น PK) ผมเปลี่ยนให้เป็นตารางรหัสล็อคอินลงทะเบียนแทนได้ไหมครับ

โดยมีการจัดเก็บแค่ ID และ PASS เป็นรหัสนักศึกษา แล้วเก็บข้อมูลจาก ตารางเก็บข้อมูลฝึกงานของนักศึกษา แทนได้ไหมครับ

ส่วนเรื่อง ตารางสถานประกอบการ (รหัสสถานประกอบการ เป็น PK) นี้พอเข้าใจครับ แต่ใจให้สร้างแบบไหนหรอครับ คืองง ว่าจะต้องทำแบบ

ให้นักศึกษาพิมพ์ข้อมูลสถานประกอบการก่อนลงทะเบียนข้อมูลฝึกงานของนักศึกษา หรือ ให้นักศึกษาเลือกบริษัทที่จะขอฝึกงานครับ

ถ้าเป็นแบบเลือกก็ต้องทำการเพิ่มข้อมูลก่อน แต่ถ้ามีข้อมูลของสถานประกอบการแล้วสามารถเข้าไปเลือกใน ทะเบียนข้อมูลฝึกงานของ

นักศึกษาได้เลยอย่างนี้หรือป่าวครับ แต่ถ้าทำแบบนี้ผมก็ต้องสร้างหน้าเพื่อให้นักศึกษาสามารถตรวจสอบบริษัทที่มีในระบบแล้วก่อนสินะครับ

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

ครับ แล้วผมต้องสร้างแก้ไขสถานประกอบตัวยหรือป่าวเพื่อถ้ามีการพิมพ์ผิดแล้วต้องการแก้ไขในภายหลัง ซึ่งถ้าต้องสร้างขึ้นมาด้วย มันก็ต้องไป

อยู่ในส่วนของเจ้าหน้าที่ ที่ดูแลใช่ไหมครับหรืออยู่ส่วนนักศึกษาสามารถเข้าไปแก้เองได้เลยครับ ถ้าอยู๋ส่วนเจ้าหน้าที่ผมก็คงทำง่ายๆให้แค่ลบ

แล้วให้นักศึกษาสามารถไปเพิ่มข้อมูลใหม่ได้เอาอะครับ

(แนะนำหน่อยครับ และขอบคุณครับ)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-18 09:13:30 By : Aok
 


 

No. 4



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

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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

ตอบความคิดเห็นที่ : 3 เขียนโดย : Aok เมื่อวันที่ 2013-11-18 09:13:30
รายละเอียดของการตอบ ::
วิเคราะห์ input output ก่อนเลยครับ จะได้รู้ว่าควรสร้างอะไร เก็บอะไร

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-18 14:09:10 By : mangkunzo
 


 

No. 5



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



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


ขอคำแนะนำเพิ่มเติมจากกระทู้นี้เรื่องข้างต้น
มีด้วยกัน 3 ตาราง คือ 1.ตารางLoginทะเบียนขอฝึกงาน 2.ตารางสถานประกอบการ 3.ทะเบียนขอฝึกงาน

โดยตาราง1.เก็บ รหัสนักศึกษาเป็น PK ส่งค่า FK ไปที่ตาราง 3.
2.เก็บ รหัสสถานประกอบการเป็น PK ส่งค่า FK ไปที่ตาราง 3.
3.เก็บ รหัสทะเบียนขอฝึกงานเป็น PK และเก็บข้อมูลต่าง โดยมี FK จากตาราง 1-2

input เก็บข้อมูลนักศึกษา พวกชื่อ รหัสนักศึกษา FK ภาคเวลาเรียน หลักสูตร สาขา ฯ ข้อมูลสถานประกอบการ ชื่อ ที่อยู่ เบอร์โทร ตำแหน่ง

output ดึงข้อมูล ชื่อสถานประกอบการ รหัสสถานประกอบการ ออกมาแสดงในหน้าก่อน ลงทะเบียนขอฝึกงาน

ในกรณี ไม่มีสถานประกอบการอันนั้นอยู่ จะมีหน้าให้เพิ่มข้อมูลสถานประกอบ แบบนี้มันจะดีหรือป่าวครับ

แล้วการทำแบบข้างบนข้างตนผมก็ต้องใช้ List/Menu โดยดึงมาจากฐานข้อมูลมาแสดงชื่อของสถานประกอบการสินะครับ

ตารางด้านล่างนี้จะกำหนดให้ Es_name ไม่ซ้ำกัน และกำหนด Es_ID ให้เก็บรหัสอัตโนมัติ
ซึ่งถ้าผมกำหนด Es_name เป็น PK แล้ว Es_ID จะเก็บรหัสอัตโนมัติ ได้อย่างไร
CREATE TABLE `Establishment` (
`Es_ID` int(6) UNSIGNED NOT NULL auto_increment,
`Es_name` varchar(100) NOT NULL,
`Es_add` TEXT utf8_unicode_ci NOT NULL,
`Es_phone` varchar(15) utf8_unicode_ci NOT NULL,
PRIMARY KEY (`Es_ID`)
)

แล้วเรื่อง List/Menu โดยดึงมาจากฐานข้อมูลมาแสดงชื่อของสถานประกอบการนั้นกำหนดอย่างไร
นี่Code ที่ค้นมาจากกระทู้เก่าๆ
<form name="form1" method="post" action="">
<?
$objConnect = mysql_connect("localhost","root","153452") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
$strSQL = "SELECT * FROM Establishment";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<select name="select">
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["VALUE"];?>"><?=$objResult["ITEM"];?></option>\\VALUE กับ ITEM ต้องเปลี่ยนตัวกำหนดหรือไม่แล้วเปลี่บยเป็นอย่างไร ให้เปลี่ยนแค่ตัวไหนตัวหนึ่งหรือป่าวเช่น VALUE = Es_ID กับ ITEM=Es_name หรือป่าวพอดีรันแล้วมันขึ้นแค่ > อันเดียวเลยงง
<?
}
?>
</select>
</form>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-18 14:54:05 By : โอ๊ก
 


 

No. 6



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



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


ไม่มีคนตอบคำถามผมเลย T-T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-19 08:35:32 By : โอ๊ก
 


 

No. 7



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ผมว่ามันเป็นสิ่งที่คุณรู้แล้ว แค่คุณไม่แน่ใจ เพิ่มความกล้าให้ตัวเองเลยครับ...
ทำเลย ลงมือเลย ... ไม่ต้องรอคำแนะนำแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-19 09:02:03 By : apisitp
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : โอ๊ก เมื่อวันที่ 2013-11-19 08:35:32
รายละเอียดของการตอบ ::
งงคำถามแปป

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-19 09:04:45 By : TRIBIIZ
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอคำแนะนำด้วยครับเกี่ยวกับ PHP การใช้ตารางฐานข้อมูลครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่