รบกวนดูโค้ดให้หน่อย ไม่ค่อยเข้าใจการใช้ตารางหลายตารางและการถึงฟิลด์
ไม่ค่อยเข้าใจการใช้ตารางหลายตารางและการถึงฟิลด์
และไม่รู้ว่าทำไมรันผลถึงไม่ขึ้นทั้งที่ก็อ้างฟิลด์ตรงกับตารางในฐานข้อมูล
มันไม่แสดงอะไรออกมาเลย แสดงหน้าหน้าว่างเปล่า
<html>
<head>
<title>@@@.....เกรดที่ได้.....@@@</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874"></head>
<body>
<form action ="../../../AppServ/www/thonburi/service/cal.php" method="POST" name="cal" id="cal">
<p align="center">ผลการเรียน</p>
รหัสนักศึกษา
<input type="" name="id" size="13" maxlength="13" >
<input type="submit" value="search" name="submit" ></font></p>
</form>
<?
$st_code = $_POST['st_code'];
$submit = $_POST['submit'];
// เช็ครหัสนักศึกษาว่ากรอกครบหรือไม่ //
switch ($submit)
{
case search:
if(strlen($id) != 13)
{
echo " กรุณาใส่รหัสนักศึกษาให้ครบ 13 ตัว";
}
else
{
$hostname = "localhost";
$username = "";
$password = "";
$dbname = "webdev";
$tblname = "results";
$tblname2 = "student";
$tblname3 = "subject";
// ติดต่อเซิร์ฟเวอร์ MySQL
mysql_connect( "$hostname", "$username", "$password" ) or die ("ติดต่อเซิร์ฟเวอร์ไม่ได้" );
// เลือกฐานข้อมูลบนเซิร์ฟเวอร์ MySQL
mysql_select_db( "$dbname" ) or die ("เลือกฐานข้อมูลไม่ได้");
// คำสั่ง SQL เพื่อเลือกข้อมูล
$sql = "SELECT * FROM results WHERE st_code = '$st_code' ";
// สั่งเอ็กซิคิวต์ SQL แล้วใส่ค่าลงในตัวแปร $myresult
$myresult = mysql_query( $sql ) or die ("เอ็กซิคิวต์คิวรีไม่ได้");
// หาจำนวนเรกคอร์ดในตัวแปร $myresult
$numrow = mysql_num_rows( $myresult );
if ( $numrow != 0 )
{
echo " ไม่พบข้อมูลนักศึกษา " ;
}
?>
<?
// คำสั่ง SQL เพื่อเลือกข้อมูล
$sql1 = " SELECT * FROM student WHERE st_code = '$st_code' AND st_name = '$st_name' IN ( SELECT * FROM results WHERE st_code = '$st_code') " ;
// สั่งเอ็กซิคิวต์ SQL แล้วใส่ค่าลงในตัวแปร $myresult 1
$myresult1 = mysql_query( $sql1) or die ("เอ็กซิคิวต์คิวรีไม่ได้");
// หาจำนวนเรกคอร์ดในตัวแปร $myresult1
$numrow1 = mysql_num_rows( $myresult1 );
for ($lt = 0; $lt < pg_numrows($myresult1); $lt++)
{
$std[0] = pg_result($myresult, $lt, 0);
$std[1] = pg_result($myresult, $lt, 1);
$std[2] = pg_result($myresult, $lt, 2);
}
echo"รหัสนักศึกษา : $std[0] ";
echo"ชื่อ : $std[1] ";
echo"นามสกุล : $std[2] ";
echo" รหัสวิชา ";
echo" ชื่อวิชา ";
echo" หน่วยกิต ";
echo" เกรด";
// คำสั่ง SQL เพื่อเลือกข้อมูล
$sql2 = " SELECT * FROM subject WHERE subject_id = '$subject_id' AND subject_name = '$subject_name' AND credit = '$credit ' IN
( SELECT * FROM results WHERE subject_id = '$subject_id' AND st_code = '$st_code') " ;
// สั่งเอ็กซิคิวต์ SQL แล้วใส่ค่าลงในตัวแปร $myresult 2
$myresult2 = mysql_query( $sql2) or die ("เอ็กซิคิวต์คิวรีไม่ได้");
// หาจำนวนเรกคอร์ดในตัวแปร $myresult1
$numrow2 = mysql_num_rows( $myresult2 );
// คำสั่ง SQL เพื่อเลือกข้อมูล
$sql3 = " SELECT * FROM results WHERE grade = '$grade ' AND st_code = '$st_code' " ;
// สั่งเอ็กซิคิวต์ SQL แล้วใส่ค่าลงในตัวแปร $myresult 3
$myresult3 = mysql_query( $sql3) or die ("เอ็กซิคิวต์คิวรีไม่ได้");
// หาจำนวนเรกคอร์ดในตัวแปร $myresult3
$numrow = mysql_num_rows( $myresult3 );
for ($lt = 0; $lt < pg_numrows($myresult2); $lt++)
{
for ($lt = 0; $lt < pg_numrows($myresult3); $lt++)
{
$std[3] = pg_result($myresult2, $lt, 0);
$std[4] = pg_result($myresult2, $lt, 1);
$std[5] = pg_result($myresult2, $lt, 2);
$std[6] = pg_result($myresult3, $lt, 0);
$s = ($std[5] * $std[6]);
$sum = $sum+$s;
echo"<td>",$std[3],"</td>";
echo"<td>",$std[4], "</td>";
echo"<td>",$std[5] ,"</td>";
echo"<td>";
if($std[5] ==4)
{echo"4";}
else if($std[5] ==3.5)
{echo"3.5";}
else if($std[5] ==3)
{echo"3";}
else if($std[5] ==2.5)
{echo"2.5";}
else if($std[5] ==2)
{echo"2";}
else if($std[5] ==1.5)
{echo"1.5";}
else if($std[5] ==1)
{echo"1";}
else
{echo"0";}
echo"</td>";
}
}
// คำสั่ง SQL เพื่อเลือกข้อมูล
$sql4 = " SELECT * FROM subject WHERE sum(credit) = '$sum' AND subject_id = '$subject_id' IN (SELECT * FROM results WHERE st_code = '$st_code' )" ;
// สั่งเอ็กซิคิวต์ SQL แล้วใส่ค่าลงในตัวแปร $myresult 4
$myresult4 = mysql_query( $sql4) or die ("เอ็กซิคิวต์คิวรีไม่ได้");
// หาจำนวนเรกคอร์ดในตัวแปร $myresult4
$numrow4 = mysql_num_rows( $myresult4 );
for ($lt = 0; $lt < pg_numrows($myresult4); $lt++)
{
$sg = pg_result($myresult4, $lt, 0);
}
if($sg!=0)
{
if($sum!=0)
$gpa = $sum/$sg;
}
echo"หน่วยการเรียนรวม :" ;
printf("%d",$sg);
echo"ผลการเรียนเฉลี่ย :";
printf("%2.2f",$gpa );
// ปิดการติดต่อฐานข้อมูล
mysql_close();
}
?>
</body>
</html>Tag : - - - -
Date :
23 ก.พ. 2548 16:55:35
By :
it53008
View :
2876
Reply :
1
ก็รู้อยู่นะครับ ส่วนมากถ้าเอา Code มาโพสเป็นสิบ ๆ บรรทัด ผมไม่ชอบตอบครับ เพราะผมไม่รู้ว่าคุณเขียนอะไรต่ออะไรมาบ้าง
Date :
24 ก.พ. 2548 09:52:45
By :
@W_IN
Load balance : Server 03