CHAPTER 14 Database Management

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 4 PHP with Database
Advertisements

Chapter IV : สร้างการติดต่อ
การเชื่อมต่อฐานข้อมูลด้วย PHP
Php with Database Professional Home Page :PHP
แก้ไขข้อมูลที่ไม่สามารถกรอกเป็นภาษาไทยได้
PHP Connect Database.
การจัดการข้อมูลกับฐานข้อมูล [ การแก้ไขข้อมูล ] Teerapong Sangraksawong.
การเขียนโปรแกรม PHP เชื่อมต่อกับ MySQL
การใช้ PHP ติดต่อฐานข้อมูลMySQL
CHAPTER 12 SQL.
Introduction to PHP, MySQL – Special Problem (Database)
PHP with MySQL.
การใช้ PHP ติดต่อฐานข้อมูล
การแก้ปัญหาการใช้งาน ADO กับ Database อุทัย เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
ASP.NET Uthai ShiangJan Information and Communication Technology.
การจัดทำเว็บไซต์สำเร็จรูปด้วยโปรแกรม Joomla!
JSP ติดต่อฐานข้อมูล.
ระบบฐานข้อมูลตรวจวัดคุณภาพน้ำ
การเพิ่ม ลบ จำกัดสิทธิ์ User จัดทำโดย 1. นายธัชนนท์ ต๊ะต้องใจ 1-B เลขที่ 4 2. นาย ไพบูรณ์ อินทะซาว 1-B เลขที่ 23.
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
เครือข่ายคอมพิวเตอร์
Computer in Business เรื่อง การใช้งาน Access เบื้องต้น.
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
ระบบบริหารงานบุคคล.
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
MS-Access. SQL สามารถเรียกใช้ฐานข้อมูล ได้ทุกค่าย Access MySQL Foxpro DBF DB2Oracle MS SQL.
1 การใช้งานระบบจัดการ ฐานข้อมูล Mysql ผ่าน phpmyadmin.
ARRAY & PRINTF สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
PORTABLE ELECTRONIC DEVICES SECURITY การรักษาความปลอดภัยของข้อมูลในกรณีที่ ใช้อุปกรณ์ที่พกพาได้
MTH 261 File Management. File Management File Management จะอธิบายเกี่ยวกับการเขียน ส่วนจัดการแฟ้มข้อมูล เราสามารถที่จะเขียน โปรแกรมเพื่อเรียกใช้แฟ้มข้อมูลที่เรามี
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
CHAPTER 11 Database Design. 2 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ Agenda Data Organization Relational Database Entity,
SQL Structured Query Language.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
และการใช้เครื่องมือในการสร้างเว็บเพจ
การติดต่อฐานข้อมูลและการแสดงผล
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
การใช้ Social Media เพื่อการสื่อสาร
การประยุกต์ Logic Gates ภาค 2
Training Admin Docushare
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การติดต่อฐานข้อมูลและการแสดงผล
การจัดการระบบฐานข้อมูล ภาษาที่ใช้ในระบบจัดการฐานข้อมูล
แล้วทำการเรียงลำดับข้อมูลใหม่โดยเรียงจากน้อยไปหามาก
Work Shop 1.
บทที่ 5 ระบบจัดการฐานข้อมูล
Virus Computer.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การบันทึกข้อมูลและการวิเคราะห์ข้อมูล
การติดต่อฐานข้อมูลและการแสดงผล
คำสั่ง Create , Insert, Delete, Update
การวิเคราะห์คุณภาพของแบบทดสอบ และแบบสอบถามข้อสอบ โดยใช้ SPSS
บทที่ 9 การใช้โปรแกรมสำเร็จรูป ในการสร้างโลกเสมือนเพื่อการเรียนรู้ “Opensimulator” อาจารย์เทพยพงษ์ เศษคึมบง สาขาวิชาเทคโนโลยีและนวัตกรรมการศึกษา.
หน่วยที่ 3 การประมวลผลข้อมูลให้เป็นสารสนเทศ
โครงการจัดทำระบบจัดเก็บข้อมูลการใช้งาน และประเมินคุณภาพอุปกรณ์ไฟฟ้า
บทที่ 9 การทำซ้ำ (Loop).
ระบบบริหารข้อมูลอุปกรณ์คอมพิวเตอร์และเครือข่าย (ITAM)
Week 5 C Programming.
SMS News Distribute Service
มาทำเว็บกันเถอะ โปรแกรม Wordpress.
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
หน่วยการเรียนที่ 7 เรื่อง การจัดการฐานข้อมูลด้วย Dreamweaver
บทสรุป ความหมายของ Query ความหมายของ Query
บทที่ 8 การใช้โปรแกรมสำเร็จรูป ในการสร้างระบบการสอนบนเครือข่าย “Moodle” อาจารย์เทพยพงษ์ เศษคึมบง สาขาวิชาเทคโนโลยีและนวัตกรรมการศึกษา pws.npru.ac.th/thepphayaphong.
ฐานข้อมูลเชิงสัมพันธ์
2 โครงสร้างข้อมูลแบบสแตก (STACK).
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
ระบบการส่งต่อข้อมูลอาการไม่พึงประสงค์จากการแพ้ยา
ใบสำเนางานนำเสนอ:

CHAPTER 14 Database Management

Agenda การเขียนโปรแกรมติดต่อฐานข้อมูล การสร้างตาราง การเลือกข้อมูลจากตาราง การเพิ่มข้อมูลลงในตาราง การลบข้อมูลในตาราง การแก้ไขข้อมูลในตาราง

กำหนดฐานข้อมูลที่จะใช้งาน เขียนคำสั่ง SQL run คำสั่ง SQL การเขียนโปรแกรมติดต่อฐานข้อมูล MySQL โดยใช้ PHP ขั้นตอน ติดต่อฐานข้อมูล กำหนดฐานข้อมูลที่จะใช้งาน เขียนคำสั่ง SQL run คำสั่ง SQL ปิดการติดต่อฐานข้อมูล

1. การติดต่อกับฐานข้อมูล สร้างส่วนเชื่อมต่อกับฐานข้อมูลด้วยคำสั่ง mysql_connect ดังนี้ mysql_connect(hostname, username, password) ; hostname คือ เครื่องที่ติดตั้งระบบฐานข้อมูลของ MySQL username คือ ชื่อของผู้ใช้ที่มีสิทธิ์เข้าใช้ระบบฐานข้อมูลของ MySQL password คือ รหัสผ่านของ username

ตัวอย่างการติดต่อกับฐานข้อมูล $hostname = "localhost"; $username = ”root”; $password = ”root"; mysql_connect($hostname, $username, $password) or die("Unable to connect database"); ถ้าติดต่อฐานข้อมูลไม่ได้จะแสดงข้อความว่า “Unable to connect database)

2. การกำหนดฐานข้อมูล ใช้ฟังก์ชัน mysql_select_db ตามรูปแบบดังนี้ mysql_select_db(databasename); ตัวอย่าง $databaseName = "Registration"; mysql_select_db( "$databaseName") or die( "Unable to select database");

3. การเขียนคำสั่ง SQL สร้างคำสั่ง SQL เก็บไว้ในตัวแปร ตัวอย่าง $tablename = "Student"; $query = "select * from $tablename "; ตัวอย่างจะเก็บคำสั่ง SQL ไว้ที่ตัวแปร $query

4. การ run คำสั่ง SQL การ run คำสั่ง SQL เพื่อนำข้อมูลมาแสดงผลใช้ฟังก์ชัน mysql_query โดยมีรูปแบบคำสั่งดังนี้ mysql_query($query); $query คือตัวแปรที่เก็บคำสั่ง SQL ที่ใช้ ตัวอย่าง $tbname = "Answer"; $query = "select * from $tablename"; $result=mysql_query($query); จากตัวอย่าง ผลลัพธ์ของการ run คำสั่ง SQL ของ $query จะถูกเก็บไว้ที่ $result

5. การปิดการติดต่อฐานข้อมูล การปิดการติดต่อฐานข้อมูลใช้ฟังก์ชัน mysql_close();

ฟังก์ชันอื่น ๆ - การรับค่าผลลัพธ์จากการ run ของคำสั่ง SQL ใช้ฟังก์ชัน mysql_fetch_array($result); $result คือตัวแปรที่เก็บผลการ run ของคำสั่ง SQL ตัวอย่าง เช่น $row=mysql_fetch_array($result)); - การรับค่าจำนวนแถว ใช้ฟังก์ชัน mysql_num_rows($result); - การรับค่าจำนวนฟิลด์ ใช้ฟังก์ชัน mysql_num_fields($result);

การสร้างตาราง ตัวอย่าง จะสร้างตารางชื่อ employee ลงในฐานข้อมูล company โดยมีฟิลด์ดังนี้ Name Type Length Description id INT 6 A unique identifier for each record first VARCHAR 15 The person's first name last The person's last name phone 20 The person's phone number email 30 The person's e-mail address web The person's website

create_table.php <? $hostname="localhost"; $username="root"; $password="root"; $database=“company"; mysql_connect($hostname,$username,$password) or die( "Unable to connect database"); mysql_select_db($database) or die( "Unable to select database"); $query="CREATE TABLE employee (id int(6) NOT NULL auto_increment, first varchar(15) NOT NULL, last varchar(15) NOT NULL, phone varchar(20) NOT NULL, email varchar(30) NOT NULL, web varchar(30) NOT NULL, PRIMARY KEY (id))"; mysql_query($query); mysql_close(); echo "สร้างตาราง employee เรียบร้อยแล้ว"; ?> create_table.php

การสร้างฟอร์มรับข้อมูลเพื่อนำไปเพิ่มในตาราง ตัวอย่าง จะสร้างฟอร์ม insert.html เพื่อนำข้อมูลไปเพิ่มลงในตาราง employee <html> <body> <form action="insert.php" method="post"> First Name: <input type="text" name="first"><br> Last Name: <input type="text" name="last"><br> Phone: <input type="text" name="phone"><br> E-mail: <input type="text" name="email"><br> Web: <input type="text" name="web"><br> <input type= " submit" value="Add"> <input type="reset" value="Reset"> </form> </body> </html> insert.html

การนำข้อมูลจากฟอร์มมาเพิ่มลงในตาราง <? $hostname="localhost"; $username="root"; $password="root"; $database="company"; $first=$_POST['first']; $last=$_POST['last']; $phone=$_POST['phone']; $email=$_POST['email']; $web=$_POST['web']; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query = "INSERT INTO employee VALUES ('','$first','$last','$phone','$email','$web')"; mysql_query($query); mysql_close(); echo "เพิ่มข้อมูลเรียบร้อยแล้ว"; ?> insert.php

insert.html insert.php

การนำข้อมูลจากตารางมาแสดง <? $hostname="localhost"; $username="root"; $password="root"; $database="company"; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query="SELECT * FROM employee"; $result=mysql_query($query); echo "<b><center>Database Output</center></b><br><br>"; while ($row=mysql_fetch_array($result)) { $first=$row[first]; $last=$row[last]; $phone= $row[phone]; $email=$row[email]; $web= $row[web]; echo "<b>$first $last</b><br>"; echo "Phone: $phone<br>"; echo "E-mail: $email<br>"; echo "Web: $web<br>"; echo "<hr><br>"; } mysql_close(); ?> select.php

select.php

การนำข้อมูลจากตารางมาแสดงลงในตารางของ html เพื่อทำ link ไปยังการแก้ไข(update) และลบ (delete) เรคอร์ด <html> <body> <? $hostname="localhost"; $username="root"; $password="root"; $database="company"; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query="SELECT * FROM employee"; $result=mysql_query($query); ?> <table border="1" cellspacing="2" cellpadding="2"> <tr> <th>Name</th> <th>Phone</th> <th>E-mail</th> <th>Website</th> <th colspan=2>Modify</th> </tr> select2.php

select2.php (ต่อ) <? while ($row=mysql_fetch_array($result)) { $id=$row[id]; $first=$row[first]; $last=$row[last]; $phone= $row[phone]; $email=$row[email]; $web= $row[web]; ?> <tr> <td><? echo $first." ".$last; ?></td> <td><? echo $phone;?></td> <td><a href="mailto:<? echo $email; ?>">E-mail</a></td> <td><a href="<? echo $web; ?>">Website</a></td> <td><a href="update.php?id=<?echo $id?>">Update</a></td> <td><a href="delete.php?id=<?echo $id?>">Delete</a></td> </tr> } mysql_close(); </table> </body> </html> select2.php (ต่อ)

select2.php

เมื่อมีการคลิกลิงค์ delete จากไฟล์ select2.php การลบข้อมูลจากตาราง เมื่อมีการคลิกลิงค์ delete จากไฟล์ select2.php <? $hostname="localhost"; $username="root"; $password="root"; $database="company"; $id=$_GET['id']; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query="DELETE FROM employee WHERE id=$id "; mysql_query($query); echo "ลบเรคอร์ดเรียบร้อยแล้ว" ?> delete.php

delete.php หน้าจอ select2.php ภายหลังการ delete เรคอร์ดของ Seya Duna

เมื่อมีการคลิกลิงค์ update จากไฟล์ select2.php การแก้ไขข้อมูล เมื่อมีการคลิกลิงค์ update จากไฟล์ select2.php ขั้นตอน นำข้อมูลของเรคอร์ดที่ถูกเลือกว่าจะ update ออกจากฐานข้อมูลมาแสดงในฟอร์มเพื่อให้ user ทำการแก้ไขข้อมูล นำข้อมูลที่แก้ไขแล้วจากฟอร์มไป update กับข้อมูลในฐานข้อมูล

ขั้นตอนที่ 1: นำข้อมูลออกจากฐานข้อมูลมาแสดงในฟอร์มเพื่อ ทำการแก้ไข <html> <body> <? $id=$_GET['id']; $hostname="localhost"; $username="root"; $password="root"; $database="company"; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query="SELECT * FROM employee WHERE id=$id"; $result=mysql_query($query); update.php

update.php (ต่อ) while ($row=mysql_fetch_array($result)) { $first=$row[first]; $last=$row[last]; $phone= $row[phone]; $email=$row[email]; $web= $row[web]; ?> update.php (ต่อ)

update.php (ต่อ) <form action="update_record.php" method="post"> <input type="hidden" name="ud_id" value="<? echo $id; ?>"> First Name: <input type="text" name="ud_first" value="<? echo $first; ?>"><br> Last Name: <input type="text" name="ud_last" value="<? echo $last; ?>"><br> Phone Number: <input type="text" name="ud_phone" value=" <? echo $phone; ?>"><br> E-mail Address: <input type="text" name="ud_email" value=“ <? echo $email; ?>"><br> Web Address: <input type="text" name="ud_web" value=“ <? echo $web; ?>"><br> <input type="Submit" value="Update"> </form> <? } mysql_close(); ?> </body> </html> update.php (ต่อ)

หน้าจอ update.php เมื่อมีการคลิกลิงค์ update ของ Dan Wilma จากหน้าจอ select2.php จะดึงข้อมูลเดิมของ Dan Wilma ออกมาเพื่อให้ทำการแก้ไข

ขั้นตอนที่ 2: นำข้อมูลที่แก้ไขแล้วจาก update ขั้นตอนที่ 2: นำข้อมูลที่แก้ไขแล้วจาก update.php มา update ลงในฐานข้อมูล ผ่านการทำงานของไฟล์ update_record.php <? $ud_id=$_POST['ud_id']; $ud_first=$_POST['ud_first']; $ud_last=$_POST['ud_last']; $ud_phone=$_POST['ud_phone']; $ud_email=$_POST['ud_email']; $ud_web=$_POST['ud_web']; $hostname="localhost"; $username="root"; $password="root"; $database="company"; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query="UPDATE employee SET first='$ud_first', last='$ud_last', phone='$ud_phone', email='$ud_email', web='$ud_web' WHERE id=$ud_id"; mysql_query($query); mysql_close(); echo "แก้ไขข้อมูลเรียบร้อยแล้ว"; ?> update_record.php

แก้ไขข้อมูลจากหน้าจอ update.php หน้าจอ update_record.php

หน้าจอ select2.php ภายหลังการ update เรคอร์ดของ Dan Wilma ซึ่งเปลี่ยนชื่อเป็น Dana

การจัดการกับข้อมูลหลายตาราง การทำงานกับตารางข้อมูลหลายตาราง ให้คำนึงถึงความสัมพันธ์ (Relationships) ระหว่างตาราง การจัดการกับข้อมูลหลายตารางจะใช้ SQL ช่วย โดยจะมีส่วนของการเชื่อมความสัมพันธ์ระหว่างตาราง ผ่านฟิลด์ที่ทำหน้าที่เป็น Foreign key

ตัวอย่าง ระบบการลงทะเบียน มีตารางข้อมูลที่เกี่ยวข้องดังต่อไปนี้ ตารางนักเรียน (student) ตารางอาจารย์ (advisor) ตารางวิชา (subject) ตารางการลงทะเบียนเรียน (register)

Relational Database Model student(stucode, stuname, address,advcode ) advisor(advcode, adv_name, phone) subject(subcode, subname, credit) register(stucode, subode, score, grade) Relationships

ข้อมูลในแต่ละตาราง

ข้อมูลในแต่ละตาราง

ตัวอย่าง SQL สำหรับการเลือกข้อมูลจากตาราง แสดงรายชื่อนักเรียนกับอาจารย์ที่ปรึกษา SELECT student.stuname, advisor.advname FROM advisor INNER JOIN student ON advisor.advcode = student.advcode 2. แสดงรายชื่อนักเรียน วิชาที่ลงทะเบียน และคะแนนที่ได้ SELECT student.stuname, subject.subname, register.score FROM subject INNER JOIN (student INNER JOIN register ON student.stucode = register.stucode) ON subject.subcode = register.subcode

ตัวอย่าง SQL สำหรับการเลือกข้อมูลจากตาราง 3. แสดงรายชื่อวิชา และคะแนนเฉลี่ยของแต่ละกระบวนวิชา SELECT subject.subname, Avg(register.score) AS AvgOfscore FROM subject INNER JOIN register ON subject.subcode = register.subcode GROUP BY subject.subname

ตัวอย่าง SQL สำหรับการเลือกข้อมูลจากตาราง 4. แสดงรายชื่อวิชาที่มีนักเรียนลงทะเบียน และชื่อนักเรียนที่ลงทะเบียนในวิชานั้น ๆ พร้อมทั้งเกรดที่ได้รับ จะใช้การทำ query 2 ครั้ง โดย ครั้งที่ 1 : เชื่อมความสัมพันธ์ระหว่างตาราง register และ subject ด้วยฟิลด์ subcode จากนั้นดึงฟิลด์ subcode ออกจากตาราง register และดึงฟิลด์ subname ออกมาจากตาราง subject โดยไม่ให้ subcode และ subname ซ้ำกัน SELECT register.subcode, subject.subname FROM subject INNER JOIN register ON subject.subcode = register.subcode GROUP BY register.subcode

ตัวอย่าง SQL สำหรับการเลือกข้อมูลจากตาราง ครั้งที่ 2 : เชื่อมความสัมพันธ์ระหว่างตาราง register กับ student ด้วยฟิลด์ stucode จากนั้นดึงฟิลด์ stuname ออกจากตาราง student และฟิลด์ grade ออกจากตาราง register ด้วยเงื่อนไข register.stucode = stucode ที่ดึงออกมาได้จาก query ครั้งที่ 1 SELECT student.stuname, register.grade, register.subcode FROM student INNER JOIN register ON student.stucode = register.stucode WHERE (((register.subcode)=“$subcode"));

แสดงรายชื่อนักเรียนกับอาจารย์ที่ปรึกษา ตัวอย่าง Source Code แสดงรายชื่อนักเรียนกับอาจารย์ที่ปรึกษา <html> <body> <? $hostname="localhost"; $username="root"; $password="root"; $database="myschool"; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query="SELECT student.stuname, advisor.advname FROM advisor INNER JOIN student ON advisor.advcode = student.advcode"; $result=mysql_query($query); ?> select3.php

<table border="1" cellspacing="2" cellpadding="2"> <tr> <th>Student Name</th> <th>Advisor Name</th> </tr> <? while ($row=mysql_fetch_array($result)) { $stuname=$row[stuname]; $advname=$row[advname]; ?> <td><? echo $stuname; ?></td> <td><? echo $advname;?></td> } mysql_close(); </table> </body> </html> select3.php (ต่อ)

2. แสดงรายชื่อนักเรียน วิชาที่ลงทะเบียน และคะแนนที่ได้ 2. แสดงรายชื่อนักเรียน วิชาที่ลงทะเบียน และคะแนนที่ได้ <html> <body> <? $hostname="localhost"; $username="root"; $password="root"; $database="myschool"; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query="SELECT student.stuname, subject.subname, register.score FROM subject INNER JOIN (student INNER JOIN register ON student.stucode = register.stucode) ON subject.subcode = register.subcode"; $result=mysql_query($query); ?> select4.php

<table border="1" cellspacing="2" cellpadding="2"> <tr> <th>Student Name</th> <th>Subject Name</th> <th>Score</th> </tr> <? while ($row=mysql_fetch_array($result)) { $stuname=$row[stuname]; $subname=$row[subname]; $score=$row[score]; ?> <td><? echo $stuname; ?></td> <td><? echo $subname;?></td> <td><? echo $score;?></td> } mysql_close(); </table> </body> </html> select4.php (ต่อ)

3. แสดงรายชื่อวิชา และคะแนนเฉลี่ยของแต่ละกระบวนวิชา <html> <body> <? $hostname="localhost"; $username="root"; $password="root"; $database="myschool"; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query="SELECT subject.subname, Avg(register.score) AS avgscore FROM subject INNER JOIN register ON subject.subcode = register.subcode GROUP BY subject.subname"; $result=mysql_query($query); ?> select5.php

<table border="1" cellspacing="2" cellpadding="2"> <tr> <th>Subject Name</th> <th>Average Score</th> </tr> <? while ($row=mysql_fetch_array($result)) { $subname=$row[subname]; $avgscore=$row[avgscore]; ?> <td><? echo $subname;?></td> <td><? printf("%.2f",$avgscore);?></td> } mysql_close(); </table> </body> </html> select5.php (ต่อ)

4. แสดงรายชื่อวิชาที่มีนักเรียนลงทะเบียน และชื่อนักเรียนที่ลงทะเบียนในวิชานั้น ๆ พร้อมทั้งเกรดที่ได้รับ <? $hostname="localhost"; $username="root"; $password="root"; $database="myschool"; mysql_connect($hostname,$username,$password) or die("Unable to connect database"); mysql_select_db($database) or die("Unable to select database"); $query1="SELECT register.subcode, subject.subname FROM subject INNER JOIN register ON subject.subcode = register.subcode GROUP BY register.subcode"; $result1=mysql_query($query1); ?> select6.php

<? while ($row1=mysql_fetch_array($result1)) // loop while 1 { $subcode=$row1[subcode]; $subname=$row1[subname]; $query2="SELECT student.stuname, register.grade FROM student INNER JOIN register ON student.stucode = register.stucode WHERE (((register.subcode)='$subcode'))"; $result2=mysql_query($query2); echo "<b>$subname</b>"; ?> <table border="1" cellspacing="2" cellpadding="2"> <tr> <th>Student Name</th> <th>Grade</th> </tr> select6.php (ต่อ)

<? while ($row2=mysql_fetch_array($result2)) // loop while 2 { $stuname=$row2[stuname]; $grade=$row2[grade]; ?> <tr> <td><? echo $stuname;?></td> <td><? echo $grade;?></td> </tr> } //loop while 2 </table> <br><br> } // loop while 1 mysql_close(); </body> </html> select6.php (ต่อ)

select6.php