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 > ถามเรื่อง Foreign key 2 ฟิลด์ในตารางเดียว รบกวนผู้รู้คับ



 

ถามเรื่อง Foreign key 2 ฟิลด์ในตารางเดียว รบกวนผู้รู้คับ

 



Topic : 129047



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



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



ๅ

ตารางข้อมูลนี้มีฟิว FK ยุ 2 ตัว ผมอยากให้เรา Insert แค่ S_Name โดยให้ดึงข้อมูล S_Level จาก ตารางข้อมูลอีกอันนึงมาในแนวเดียวกัน
ตอนนี้เวลาเราINSERT มันขึ้น NULL ตลอดเลย รบกวนผู้รู้คับ

นี้คือตารางที่จะให้ดึงข้อมูลมา
ดด



Tag : PHP, MySQL, Ms SQL Server 2005, CakePHP, XAMPP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-09-29 04:12:10 By : benzkung53 View : 1261 Reply : 4
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


แล้วโค๊ดที่ใช้ insert เขียนไว้ยังไง






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-29 07:48:24 By : Chaidhanan
 


 

No. 2



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2017-09-29 07:48:24
รายละเอียดของการตอบ ::
Code (PHP)
 <?php
@$student=$_POST['student'];
@$scorethai=$_POST['thai'];
@$gradethai="";
@$scoremath=$_POST['math'];
@$grademath="";
@$scorescience=$_POST['science'];
@$gradescience="";
@$scoreeng=$_POST['eng'];
@$gradeeng="";
@$scoresocial=$_POST['social'];
@$gradesocial="";
	if($scorethai >=80)
	  {$gradethai='4';}
	elseif($scorethai >=75)
			{$gradethai='3.5';}
	elseif($scorethai >=70)
			{$gradethai='3';} 
	elseif($scorethai >=65)
			{$gradethai='2.5';} 
	elseif($scorethai >=60)
			{$gradethai='2';}
	elseif($scorethai >=55)
			{$gradethai='1.5';}
	elseif($scorethai >=50)
			{$gradethai='1';}
	elseif($scorethai <=50)
			{$gradethai='0';}

	if($scoremath >=80)
	  {$grademath='4';}
	elseif($scoremath >=75)
			{$grademath='3.5';}
	elseif($scoremath >=70)
			{$grademath='3';} 
	elseif($scoremath >=65)
			{$grademath='2.5';} 
	elseif($scoremath >=60)
			{$grademath='2';}
	elseif($scoremath >=55)
			{$grademath='1.5';}
	elseif($scoremath >=50)
			{$grademath='1';}
	elseif($scoremath <=50)
			{$grademath='0';}

	if($scorescience >=80)
	  {$gradescience='4';}
	elseif($scorescience >=75)
			{$gradescience='3.5';}
	elseif($scorescience >=70)
			{$gradescience='3';} 
	elseif($scorescience >=65)
			{$gradescience='2.5';} 
	elseif($scorescience >=60)
			{$gradescience='2';}
	elseif($scorescience >=55)
			{$gradescience='1.5';}
	elseif($scorescience >=50)
			{$gradescience='1';}
	elseif($scorescience <=50)
			{$gradescience='0';}

	if($scoreeng >=80)
	  {$gradeeng='4';}
	elseif($scoreeng >=75)
			{$gradeeng='3.5';}
	elseif($scoreeng >=70)
			{$gradeeng='3';} 
	elseif($scoreeng >=65)
			{$gradeeng='2.5';} 
	elseif($scoreeng >=60)
			{$gradeeng='2';}
	elseif($scoreeng >=55)
			{$gradeeng='1.5';}
	elseif($scoreeng >=50)
			{$gradeeng='1';}
	elseif($scoreeng <=50)
			{$gradeeng='0';}

	if($scoresocial >=80)
	  {$gradesocial='4';}
	elseif($scoresocial >=75)
			{$gradesocial='3.5';}
	elseif($scoresocial >=70)
			{$gradesocial='3';} 
	elseif($scoresocial >=65)
			{$gradesocial='2.5';} 
	elseif($scoresocial >=60)
			{$gradesocial='2';}
	elseif($scoresocial >=55)
			{$gradesocial='1.5';}
	elseif($scoresocial >=50)
			{$gradesocial='1';}
	elseif($scoresocial <=50)
			{$gradesocial='0';}

	
echo"ชื่อนักเรียน : $student <br>คะแนนวิชาภาษาไทย : $scorethai  เกรดภาษาไทย : $gradethai<br>คะแนนวิชาคณิตศาสตร์ : $scoremath  เกรดภาษาไทย : $grademath<br>คะแนนวิชาวิทยาศาสตร์ : $scorescience  เกรดภาษาไทย : $gradescience <br>คะแนนวิชาภาษาอังกฤษ : $scoreeng  เกรดภาษาไทย : $gradeeng<br>คะแนนวิชาสังคม : $scoresocial  เกรดภาษาไทย : $gradesocial ";

mysql_connect("localhost","root","");
mysql_query("SET NAMES UTF8");
mysql_select_db("School");
$sql = "INSERT INTO Score(S_Name,Score_Thai,Grade_Thai,Score_Math,Grade_Math,Score_Science,Grade_Science,Score_Eng,Grade_Eng,Score_Social,Grade_Social) VALUES('$student','$scorethai','$gradethai','$scoremath','$grademath','$scorescience','$gradescience','$scoreeng','$gradeeng','$scoresocial','$gradesocial');";
$rc = mysql_query($sql);
mysql_close();


?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-29 23:06:02 By : benzkung53
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


Code (PHP)
 <?php
if(!isset($_POST['student'])) die("student must not empty");// field สำคัญไม่มีก็จบโปรแกรม
mysql_connect("localhost","root","");
mysql_query("SET NAMES UTF8");
mysql_select_db("School");
function get_gread( $score){
	return $score>79? 4 :
	($score>74 ? 3.5 :
		($score>69? 3 :
			($score>64? 2.5 : 
				($score>59? 2 :
					($score>54? 1.5 :
						($score>49? 1 : 0)
	)))));
}
$student=mysql_real_escape_string($_POST['student']); // ใส่ escape ป้องกัน sql injection
$scorethai=intval('0' . $_POST['thai']); // ทำไห้เป็น integer ป้องกัน sql injection
$scoremath=intval('0' . $_POST['math']);
$scorescience=intval('0' . $_POST['science']);
$scoreeng=intval('0' . $_POST['eng']);
$scoresocial=intval('0' . $_POST['social']);

$gradethai = get_gread($scorethai);
$grademath = get_gread($scoremath);
$gradescience = get_gread($scorescience);
$gradeeng = get_gread($scoreeng);
$gradesocial = get_gread($scoresocial);

$rs=mysql_query("select S_Level from tb_student where S_Name = '$student'");
if(mysql_num_rows($rs)==0) die('Not found student');

$ro=mysql_fetch_assoc($rs);
	
echo"ชื่อนักเรียน : $student <br>ระดับชั้น: $ro[S_Level] <br>คะแนนวิชาภาษาไทย : $scorethai  เกรดภาษาไทย : $gradethai<br>คะแนนวิชาคณิตศาสตร์ : $scoremath  เกรดภาษาไทย : $grademath<br>คะแนนวิชาวิทยาศาสตร์ : $scorescience  เกรดภาษาไทย : $gradescience <br>คะแนนวิชาภาษาอังกฤษ : $scoreeng  เกรดภาษาไทย : $gradeeng<br>คะแนนวิชาสังคม : $scoresocial  เกรดภาษาไทย : $gradesocial ";

$sql = "INSERT INTO Score
(S_Name, S_Level, 
	Score_Thai,Grade_Thai,Score_Math,Grade_Math,
	Score_Science,Grade_Science,Score_Eng,Grade_Eng,Score_Social,Grade_Social) 
VALUES('$student','$ro[S_Level]', 
	'$scorethai','$gradethai','$scoremath','$grademath',
	'$scorescience','$gradescience','$scoreeng','$gradeeng','$scoresocial','$gradesocial')";
$rc = mysql_query($sql);

อ่านและทำความเข้าใจกับโค๊ดด้วยนะครับ อย่านำไปใช้โดยไม่ศึกษา
แนะนำ ควรอ้างอิง foreign key ด้วย primary key (ตัวเลข) จะดีกว่า
ไปอ้างอิงชื่อ มันช้ากว่ากันเยอะ


ประวัติการแก้ไข
2017-09-30 07:56:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-30 07:53:39 By : Chaidhanan
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2017-09-30 07:53:39
รายละเอียดของการตอบ ::
ครับผม พอดีผมกำลังศึกษาอยู่นะครับ อาจจะยังไม่ค่อยเก่งเท่าไรจะพยายามศึกษาต่อไปครับ ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-30 21:40:30 By : benzkung53
 

   

ค้นหาข้อมูล


   
 

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