วอนผู้รู้ sum sql ครับ ตอนนี่คำนวนผิดอยู่ครับเพราะมันคำนวนตัวเลขในฐานข้อมูลทั้งหมด วอนผู้รู้ช่วยทีครับ
ช่วยขยายอีกนิดนึง..
ถ้าให้เดา คือจะถามว่า ถ้าจะให้มันคำนวนคนเดียว ภาษา sql ต้องทำยังไงงั้นรึเปล่าครับ...ให้ใส่ where เข้าไปนะครับ
Date :
2010-07-05 17:09:35
By :
blacklion
หมายถึงเรียกข้อมูลที่ได้มาแสดงผลแล้วคำนวนผลการเรียนครับ
Code (PHP)
<?php require_once('Connections/dblernning.php'); ?>
<?php
$colname_Recordset1 = "-1";
if (isset($_POST['id_std'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['id_std'] : addslashes($_POST['id_std']);
}
mysql_select_db($database_dblernning, $dblernning);
$query_Recordset1 = sprintf("SELECT * FROM process WHERE id_std = %s ORDER BY id_std ASC", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $dblernning) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
include('top.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {
font-family: "Times New Roman", Times, serif;
font-size: 18pt;
}
.style4 {font-size: 16pt}
-->
</style>
</head>
<body>
<form id="form1" name="form1" method="POST">
<div align="center"><img src="images/jpg_00003352.jpg" width="117" height="146" /><br />
</div>
<div align="center"></div>
<div align="right"></div>
<table width="70%" align="center">
<tr>
<td> </td>
<td><div align="center"><span class="style1">มหาวิทยาลัยราชภัฏชัยภูมิ<br />
รายงานผลการศึกษา</span></div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><span class="style4">รหัสประจำตัว </span><?php echo $row_Recordset1['id_std']; ?></td>
</tr>
<tr>
<td><span class="style4">สาขาวิชา </span> <?php echo $row_Recordset1['saka']; ?> </td>
<td>ชื่อ <?php echo $row_Recordset1['Name']; ?> <?php echo $row_Recordset1['lastname']; ?> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<table width="50%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#0099FF">
<tr>
<td bgcolor="#0099FF"><div align="center"><strong>ชื่อวิชา</strong></div></td>
<td bgcolor="#0099FF"><div align="center"><strong>ผลการเรียน</strong></div></td>
</tr>
<?php do { ?>
<tr>
<td><div align="center"><?php echo $row_Recordset1['vicha']; ?></div></td>
<td><div align="center"><?php echo $row_Recordset1['grade']; ?></div></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</MM:DECORATION></MM_REPEATEDREGION><MM:EndLock>
<td><div align="right"><strong>ผลการเรียนเฉลี่ย</strong></div></td>
<td><div align="center"><strong>
<?
$sql = "select id_std,sum(grade) as totalgrade from process GROUP BY id_std";
$result = mysql_query($sql)or die(mysql_error());
$regis = mysql_fetch_assoc($result);
$showgrade = --$regis['totalgrade'] / $totalRows_Recordset1;
$showgrade = $showgrade;
//echo $showgrade;
print "".round($showgrade,2);
?>
</strong></div></td>
</tr>
</table>
</form>
<table width="200" align="center">
<tr>
<td><form id="form2" name="form2" method="post" action="main.php">
<div align="center">
<input type="submit" name="Submit2" value="กลับหน้าหลัก" />
</div>
</form>
</td>
</tr>
</table>
<script type="text/javascript">
window.print();
</script>
</body>
</html><?php
include('footer.php');
?>
<?php
mysql_free_result($Recordset1);
?>
ฐานข้อมูลครับ
# MySQL-Front Dump 2.5
#
# Host: localhost Database: dblernning
# --------------------------------------------------------
# Server version 5.0.51b-community-nt-log
#
# Table structure for table 'process'
#
CREATE TABLE IF NOT EXISTS process (
id int(6) NOT NULL DEFAULT '0' ,
id_std int(9) DEFAULT '0' ,
Name varchar(30) DEFAULT '0' ,
lastname varchar(30) DEFAULT '0' ,
saka varchar(50) DEFAULT '0' ,
vicha varchar(100) DEFAULT '0' ,
grade varchar(2) DEFAULT '0' ,
PRIMARY KEY (id)
);
#
# Dumping data for table 'process'
#
INSERT INTO process VALUES("100000", "100000003", "เขียว", "เขียว", "วิทยาการคอมพิวเตอร์", "การวิเคราะห์และออกแบบระบบ", "1");
INSERT INTO process VALUES("100001", "100000002", "แดง", "แดง", "วิทยาการคอมพิวเตอร์", "ระบบปฏิบัติการ", "4");
INSERT INTO process VALUES("100002", "100000002", "แดง", "แดง", "วิทยาการคอมพิวเตอร์", "การวิเคราะห์และออกแบบระบบ", "2");
INSERT INTO process VALUES("100003", "100000002", "แดง", "แดง", "วิทยาการคอมพิวเตอร์", "ฐานข้อมูลเบื้องต้น", "2");
INSERT INTO process VALUES("100004", "100000001", "ดำ", "ดำ", "วิทยาการคอมพิวเตอร์", "ระบบปฏิบัติการ", "4");
INSERT INTO process VALUES("100005", "100000001", "ดำ", "ดำ", "วิทยาการคอมพิวเตอร์", "ระบบปฏิบัติการ", "4");
INSERT INTO process VALUES("100006", "100000001", "ดำ", "ดำ", "วิทยาการคอมพิวเตอร์", "ฐานข้อมูลเบื้องต้น", "1");
Date :
2010-07-05 17:24:57
By :
superhack
]ช่วยทีนะครับ
Date :
2010-07-05 17:26:38
By :
superhack
$select = "SELECT sum(ผลการเรียน) as Total FROM ชื่อตาราง";
$query = mysql_query($select);
$rs = mysql_fetch_array($query);
echo "$rs[Total]";
Date :
2010-07-05 17:54:40
By :
aefcpe49
ได้แล้วครับ
Code (PHP)
<?
$sum=$sum+$row_Recordset1['grade']/ $totalRows_Recordset1;
print "".round($sum,2);
?>
Date :
2010-07-05 18:01:46
By :
superhack
Load balance : Server 04