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,028

HOME > PHP > PHP Forum > โค้ดเช็คผลการเรียน ปัญหาคือ พอเพิ่มผลการเรียนแล้ว รหัสวิชา ชื่อวิชา หน่วยกิต ไม่ขึ้น



 

โค้ดเช็คผลการเรียน ปัญหาคือ พอเพิ่มผลการเรียนแล้ว รหัสวิชา ชื่อวิชา หน่วยกิต ไม่ขึ้น

 



Topic : 003135

Guest




ปัญหาคือ พอเพิ่มผลการเรียนแล้ว
รหัสวิชา ชื่อวิชา หน่วยกิต ไม่ขึ้น
แสดงแต่เกรดที่ได้อย่างเดียวและไม่มีการคำนวณ แต่ผลการเรียนเดิมที่มีอยู่แล้วในฐานข้อมูลมันคำนวณให้
cal.php หน้าคำนวณ

ขอโทษทีที่ส่งโค้ดมาให้ดูเยอะแต่ก็ไม่รู้ว่ามันผิดพลาดตรงไหนจริง

<html>
<head>
<title>:: ระบบแสดงผลการเรียนวิทยาลัยสารพัดช่างธนบุรี ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874"></head>
<body>
<div align="center">
<p><font color="#990066"><strong>ระบบตรวจสอบผลการเรียน</strong></font><strong><font color="#990066">วิทยาลัยสารพัดช่างธนบุรี</font></strong></p>
<p>
<?
$hostname = "localhost";
$user = " ";
$password = "";
$dbname = "webdev";

$tblname = "results";
$tblname2 = "student";
$tblname3 = "subject";

$auth = false;
$st_code = $st_login;

if (isset($st_code))
{
mysql_connect("$hostname","$user","$password") or die ("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db("$dbname") or die ("เลือกฐานข้อมูลไม่ได้");

$sql = "SELECT * FROM $tblname2 WHERE st_code = '$st_code'"; // เอาตัวแปรเก็บชื่อตารางมาใช้
$result = mysql_query($sql) or die ("เอ็กซิคิวต์คิวรี่ไม่ได้");
$num = mysql_num_rows($result);

if($num !=0)
{
$auth = true;
$b = mysql_query($sql) or die ("เลือกฐานข้อมูลไม่ได้");

$sql2 = "SELECT * FROM $tblname2 AS st,$tblname AS re WHERE st.st_code = re.st_code"; // หลัง AS เป็นการย่อชื่อให้สั้นลง เปลี่ยนให้ดูเผื่อเกิดแนวคิด ข้างล่างไม่ได้เปลี่ยนนะ
$result2 = mysql_query($sql) or die ("เอ็กซิคิวต์คิวรี่ไม่ได้");
$num2 = mysql_num_rows($result2);
$dbquery = mysql_db_query($dbname,$sql2);

for($It = 0 ; $It < $num2; $It++)
{
$result = mysql_fetch_array($dbquery);
// ไม่ต้องเป็น array ก็ได้ เพราะชื่อไม่เหมือนกันอยู่แล้ว
$st_code = mysql_result($result2 ,$It ,0);
$st_name = mysql_result($result2 ,$It ,1);
$st_lname = mysql_result($result2 , $It , 2);
}
// ตารางนี้ไม่เกี่ยวกับข้างล่าง เอาไว้จัดตำแหน่งข้อมูล รหัสและชื่อ-นามสกุลนักศึกษา ให้สวยงามเท่านั้น
echo "<table><tr><td align=right>รหัสนักศึกษา : </td><td>$st_code</td></tr>";
echo "<tr><td align=right>ชื่อ-นามสกุล :</td><td>$st_name ";
echo " $st_lname</td></tr></table><br>";

// ใส่ตารางให้ด้วย จะได้ตรงกับข้อมูลที่แสดงเป็นคอลัมภ์
echo "<table><tr bgcolor=99ccff >";
echo "<td><center><FONT SIZE=\"3\" COLOR=\"#FF0000\">รหัสวิชา</center></td>";
echo "<td><center><FONT SIZE=\"3\" COLOR=\"#FF0000\">ชื่อวิชา</center></td>";
echo "<td><center><FONT SIZE=\"3\" COLOR=\"#FF0000\">หน่วยกิต</center></td>";
echo "<td><center><FONT SIZE=\"3\" COLOR=\"#FF0000\">เกรด</center></td></tr>";

// ต้องบอกด้วยว่า ให้ดึงข้อมูลมาเฉพาะ น.ศ. ที่มีรหัสตรงกับที่ป้อนเข้ามา ($st_code)
$sql3 = "SELECT * FROM $tblname3,$tblname,$tblname2 WHERE student.st_code = results.st_code AND subject.subject_id = results.subject_id AND results.st_code = $st_code";
$result3 = mysql_query($sql3) or die ("เอ็กซิคิวรี่ไม่ได้");
$num3 = mysql_num_rows($result3);
$dbquery = mysql_db_query($dbname,$sql3);

// ต้องบอกด้วยว่า ให้ดึงข้อมูลมาเฉพาะ น.ศ. ที่มีรหัสตรงกับที่ป้อนเข้ามา ($st_code)
$sql4 = "SELECT * FROM $tblname,$tblname2 WHERE student.st_code = results.st_code AND results.st_code = $st_code";
$result4 = mysql_query($sql4) or die ("เอ็กซิคิวรี่ไม่ได้");
$num4 = mysql_num_rows($result4);
$dbquery = mysql_db_query($dbname , $sql4);

$totalcredit = 0; // ตัวแปรนี้เอาไว้เก็บหน่วยกิตรวม เพื่อเป็นตัวหารหาเกรดเฉลี่ย
// for($It = 0 ; $It < $num3; $It++) ตรงนี้ไม่ต้องใช้ก็ได้
// {

for($It =0 ; $It < $num4; $It++)
{
$result = mysql_fetch_array($dbquery);
$subject_id = mysql_result($result3 , $It , 0);
$subject_name = mysql_result($result3 , $It, 1);
$credit = mysql_result($result3 , $It , 2);
$grade = mysql_result($result4 , $It , 3);

$s = ($credit * $grade);
$sum = $sum+$s;

// ส่วนนี้ต้องกำหนดตารางให้ตรงกับส่วนหัวข้อข้างบน
$bgc=($bgc=="#FFCCCC")?"#FFCCCC":"#FFCCCC";
echo"<tr bgcolor=$bgc>";
echo"<td>$subject_id</td>";
echo"<td>$subject_name</td>";
echo"<td>$credit</td>";

echo"<td>";
if($grade ==4)
{echo"4";}
else if($grade ==3.5)
{echo"3.5";}
else if($grade ==3)
{echo"3";}
else if($grade ==2.5)
{echo"2.5";}
else if($grade ==2)
{echo"2";}
else if($grade ==1.5)
{echo"1.5";}
else if($grade ==1)
{echo"1";}
else
{echo"0";}
echo"</td></tr>";
$totalcredit =$totalcredit + $credit; // หาผลรวมของหน่วยกิต
}

$sql5 = "SELECT * FROM $tblname3,$tblname,$tblname2 WHERE student.st_code = results.st_code AND subject.subject_id = results.subject_id";
$result5 = mysql_query($sql5) or die ("เอ็กซิคิวรี่ไม่ได้");
$num5 = mysql_num_rows($result5);
$dbquery = mysql_db_query($dbname , $sql5);

for ($lt = 0; $lt < $num5; $lt++)
{
$result = mysql_fetch_array($dbquery);
$sg = mysql_result($result5 , $lt, 0);
}
if($sg!=0)
{
if($sum!=0)
$gpa = $sum/$totalcredit ; // GPA จะต้องมาจาก คะแนนที่ได้ทั้งหมด (หน่วยกิต*เกรดที่ได้) หารด้วย ผลรวมของหน่วยกิต
}

echo"</table><br><table><tr><td align='right'><FONT SIZE=\"3\" COLOR=\"#009999\">หน่วยการเรียนรวม : </td><td>" ;
printf("%d",$sum);
echo"</FONT></td></tr><tr><td align='right'><FONT SIZE=\"3\" COLOR=\"#009999\">ผลการเรียนเฉลี่ย : </td><td>";
printf("%2.2f",$gpa );
echo"</FONT></td></tr>";
echo"</table>";

echo"</table><br><table><tr><td align='right'><FONT SIZE=\"3\" COLOR=\"#FF0000\">* วิชาประเภทกิจกรรมลูกเสือวิสามัญ , กิจกรรมองค์การวิชาชีพตามประเภทวิชาชีพ </td><td>" ;
echo"</FONT></td></tr><tr><td align='left'><FONT SIZE=\"3\" COLOR=\"#FF0000\">* จะมีผลเกรดแสดงสถานะ 0 = ไม่ผ่าน , 1 = ผ่าน </td><td>";
echo"</FONT></td></tr>";
echo"</table>";

echo "<br><FONT SIZE=\"2\" COLOR=\"#FF0000\">* กรุณาตรวจสอบผลการเรียนอย่างเป็นทางการอีกครั้งกับทางวิทยาลัย";
}
}
else // ถ้าป้อนข้อมูลเข้ามาไม่ถูกต้อง ให้แสดงข้อความตามนี้
{
echo "<FONT SIZE=\"4\" COLOR=\"#FF0000\">ขออภัย ! คุณป้อนข้อมูลไม่ถูกต้อง<br>กรุณาตรวจสอบอีกครั้ง</FONT><br>";
}

?>
</p>
<p>&nbsp; </p>
</div>
</body>
</html>


Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 1 มี.ค. 2548 20:42:53 By : it53008 View : 3816 Reply : 3
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ผมไม่มี Source ไม่มี Database ที่จะทดสอบโปรแกรมครับ






Date : 2 มี.ค. 2548 09:39:22 By : @W_IN
 


 

No. 2

Guest


ขอโค้ดที่ใช้รับค่า และดาต้าเบสหน่อยครับผมจะนำมาใช้ในการทำโปรเจ็คครับ กรุณาด้วยนะครับ ขอบคุณครับ [email protected]
Date : 24 พ.ค. 2550 06:46:24 By : soda
 

 

No. 3

Guest


ขอด้วยสิครับ กำลังจะทำดูผลการเรียนออนไลน์ อย่างง่าย ครับ
[email protected]
Date : 2013-03-01 14:42:40 By : ครูกันดาร
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 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 อัตราราคา คลิกที่นี่