การคำนวนเปอร์เซ็นต์
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา การคำนวนเปอร์เซ็นต์
การคำนวนเปอร์เซ็นต์
โดย:
Azhary Pk IP:
110.78.146.xxx วันที่:
21-09-2016 เวลา:
07:27:43
ต้องการคำนวนหาค่าเป็นเปอร์เซ็นต์ ลองมั่วดูไม่ผ่านครับ
รบกวนช่วยเเก้ไขไห้ด้วยครับ
$strSQL .=",peratus01 = ('".$_POST["txtal_jumlah01$i"]."'*100)/1400";
รบกวนช่วยเเก้ไขไห้ด้วยครับ
$strSQL .=",peratus01 = ('".$_POST["txtal_jumlah01$i"]."'*100)/1400";

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1


ความคิดเห็นที่
2
ประมาณนี้ครับ
![]()
ไม่ทราบว่าอย่างไหนดี (เร็ว ไม่หนักโฮสต) ระหว่าง สร้างคอลั้ม percent ในฐานข้อมูล เเล้วสร้างสูตรตอนอัปเดต บันทึกลงคอลั้ม percent ในฐานข้อมูล
กับ ไม่สร้างคอลั้ม percent ในฐานข้อมูล เเต่มาคำนวนตอนเเสดงข้อมูล คือ สร้าง td ชืี่อ percent เเล้วสร้างสูตรคำนวนทุกครั้งที่เปิดไฟล์
เเบบที่ 1 update.php
สูตรที่มั่วมาประมาณนี้ครับ (รบกวนช่วยเเก้ไขด้วยครับ)
<?php
include('config.inc.php');
//*** Update Condition ***//
if($_GET["Action"]=='Save'){
$action =$_GET["Action"];
}else{
$action ='';
}
if($action == "Save")
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$strSQL = "UPDATE score SET ";
$strSQL .="SID = '".$_POST["txtSID$i"]."' ";
$strSQL .=",score1 = '".$_POST["txtscore1$i"]."' ";
$strSQL .=",score2 = '".$_POST["txtscore2$i"]."' ";
$strSQL .=",score3 = '".$_POST["txtscore3$i"]."' ";
$strSQL .=",sum ='".$_POST["txtscore1$i"]."'+'".$_POST["txtscore2$i"]."'+'".$_POST["txtscore3$i"]."' ";
$strSQL .=",peratus01 = ('".$_POST["txtal_jumlah01$i"]."'*100)/300"; มีปัญหาตรงบรรทัดนี้ครับ
$strSQL .="WHERE SID = '".$_POST["hdnSID$i"]."' ";
$objQuery = mysql_query($strSQL);
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
?>
เเบบที่ 2 score.php
สูตรที่มั่วมาประมาณนี้ครับ (รบกวนช่วยเเก้ไขด้วยครับ)
<?php
include('config.inc.php');
$strSQL ="SELECT std.SID,std.name,std.susname,std.class,score.score1,score.score2,score.score3,score.sum
FROM std INNER JOIN score
ON std.SID = score.SID
WHERE class = '".$_GET["class"]."'
ORDER BY SID";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table border="1">
<thead>
<tr>
<th width="15" HEIGHT="45" bgcolor="#D9D9D9" ><FONT FACE="traditional arabic" FONT SIZE=3><b> <div align="center">No.</div></font></th>
<th width="45" bgcolor="#D9D9D9" ><FONT FACE="traditional arabic" FONT SIZE=4><b> <div align="center">name</div></font></th>
<th width="115" bgcolor="#D9D9D9" ><FONT FACE="traditional arabic" FONT SIZE=4><b> <div align="center">surname</div></font></th>
<th width="115" bgcolor="#D9D9D9" ><FONT FACE="traditional arabic" FONT SIZE=4><b> <div align="center">score1</div></font></th>
<th width="" bgcolor="" > <FONT FACE="traditional arabic" FONT SIZE=4><b><div align="center" >score2</div></font></th>
<th width="" bgcolor="" > <FONT FACE="traditional arabic" FONT SIZE=4><b><div align="center" >score3</div></font></th>
<th width="" bgcolor="" > <FONT FACE="traditional arabic" FONT SIZE=4><b><div align="center" >sum</div></font></th>
<th width="" bgcolor="" > <FONT FACE="traditional arabic" FONT SIZE=4><b><div align="center" >percent</div></font></th>
</tr>
</thead>
<?php
$i =0;
while($objResult = mysql_fetch_array($objQuery))
{
$i = $i + 1;
?>
<tbody>
<tr>
<td><div align="center"><?php echo $objResult["SID"];?></div></td>
<td><div align="center"><?php echo $objResult["name"];?></div></td>
<td><div align="center"><?php echo $objResult["surname"];?></div></td>
<td><div align="center"><?php echo $objResult["score1"];?></div></td>
<td><div align="center"><?php echo $objResult["score2"];?></div></td>
<td><div align="center"><?php echo $objResult["score3"];?></div></td>
<td><div align="center"><?php echo $objResult["sum"];?></div></td>
<td><div align="center">(<?php echo $objResult["percent"];?>*100)/300</div></td> มีปัญหาตรงบรรทัดนี้ครับ
</tr>
<?php
}
?>
</tbody>
</table>
ไม่ทราบว่าอย่างไหนดี (เร็ว ไม่หนักโฮสต) ระหว่าง สร้างคอลั้ม percent ในฐานข้อมูล เเล้วสร้างสูตรตอนอัปเดต บันทึกลงคอลั้ม percent ในฐานข้อมูล
กับ ไม่สร้างคอลั้ม percent ในฐานข้อมูล เเต่มาคำนวนตอนเเสดงข้อมูล คือ สร้าง td ชืี่อ percent เเล้วสร้างสูตรคำนวนทุกครั้งที่เปิดไฟล์
เเบบที่ 1 update.php
สูตรที่มั่วมาประมาณนี้ครับ (รบกวนช่วยเเก้ไขด้วยครับ)
<?php
include('config.inc.php');
//*** Update Condition ***//
if($_GET["Action"]=='Save'){
$action =$_GET["Action"];
}else{
$action ='';
}
if($action == "Save")
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$strSQL = "UPDATE score SET ";
$strSQL .="SID = '".$_POST["txtSID$i"]."' ";
$strSQL .=",score1 = '".$_POST["txtscore1$i"]."' ";
$strSQL .=",score2 = '".$_POST["txtscore2$i"]."' ";
$strSQL .=",score3 = '".$_POST["txtscore3$i"]."' ";
$strSQL .=",sum ='".$_POST["txtscore1$i"]."'+'".$_POST["txtscore2$i"]."'+'".$_POST["txtscore3$i"]."' ";
$strSQL .=",peratus01 = ('".$_POST["txtal_jumlah01$i"]."'*100)/300"; มีปัญหาตรงบรรทัดนี้ครับ
$strSQL .="WHERE SID = '".$_POST["hdnSID$i"]."' ";
$objQuery = mysql_query($strSQL);
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
?>
เเบบที่ 2 score.php
สูตรที่มั่วมาประมาณนี้ครับ (รบกวนช่วยเเก้ไขด้วยครับ)
<?php
include('config.inc.php');
$strSQL ="SELECT std.SID,std.name,std.susname,std.class,score.score1,score.score2,score.score3,score.sum
FROM std INNER JOIN score
ON std.SID = score.SID
WHERE class = '".$_GET["class"]."'
ORDER BY SID";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table border="1">
<thead>
<tr>
<th width="15" HEIGHT="45" bgcolor="#D9D9D9" ><FONT FACE="traditional arabic" FONT SIZE=3><b> <div align="center">No.</div></font></th>
<th width="45" bgcolor="#D9D9D9" ><FONT FACE="traditional arabic" FONT SIZE=4><b> <div align="center">name</div></font></th>
<th width="115" bgcolor="#D9D9D9" ><FONT FACE="traditional arabic" FONT SIZE=4><b> <div align="center">surname</div></font></th>
<th width="115" bgcolor="#D9D9D9" ><FONT FACE="traditional arabic" FONT SIZE=4><b> <div align="center">score1</div></font></th>
<th width="" bgcolor="" > <FONT FACE="traditional arabic" FONT SIZE=4><b><div align="center" >score2</div></font></th>
<th width="" bgcolor="" > <FONT FACE="traditional arabic" FONT SIZE=4><b><div align="center" >score3</div></font></th>
<th width="" bgcolor="" > <FONT FACE="traditional arabic" FONT SIZE=4><b><div align="center" >sum</div></font></th>
<th width="" bgcolor="" > <FONT FACE="traditional arabic" FONT SIZE=4><b><div align="center" >percent</div></font></th>
</tr>
</thead>
<?php
$i =0;
while($objResult = mysql_fetch_array($objQuery))
{
$i = $i + 1;
?>
<tbody>
<tr>
<td><div align="center"><?php echo $objResult["SID"];?></div></td>
<td><div align="center"><?php echo $objResult["name"];?></div></td>
<td><div align="center"><?php echo $objResult["surname"];?></div></td>
<td><div align="center"><?php echo $objResult["score1"];?></div></td>
<td><div align="center"><?php echo $objResult["score2"];?></div></td>
<td><div align="center"><?php echo $objResult["score3"];?></div></td>
<td><div align="center"><?php echo $objResult["sum"];?></div></td>
<td><div align="center">(<?php echo $objResult["percent"];?>*100)/300</div></td> มีปัญหาตรงบรรทัดนี้ครับ
</tr>
<?php
}
?>
</tbody>
</table>

ความคิดเห็นที่
3
แนะนำให้ดึงค่ามาคำนวณด้วย php ดีกว่า ลดการทำงานของ mysql
แต่บรรทัดนี้เขียนโค้ดได้แปลกมาก
<td><div align="center">(<?php echo $objResult["percent"];?>*100)/300</div></td> มีปัญหาตรงบรรทัดนี้ครับ
น่าจะเป็นแบบนี้ไหม
<td><div align="center"><?=(($objResult["percent"]*100)/300)?></div></td>
หรือ
<td><div align="center">(<?php echo ($objResult["percent"]*100)/300; ?></div></td>

ความคิดเห็นที่
4

ได้เเล้วค้าบปม

ความคิดเห็นที่
5
เพิ่มเติมอีกหน่อยครับ
จากโค้ดด้านล่าง ถ้าหากจะตัดทศนิยมให้เหลือสองตัว ต้องเพิ่มเติมส่วนไหนครับ
<td><div align="center"><?=(($objResult["percent"]*100)/300)?></div></td>
<td><div align="center"><?php echo ($objResult["percent"]*100)/300; ?></div></td>
ขอบพระคุณอย่างสูง
จากโค้ดด้านล่าง ถ้าหากจะตัดทศนิยมให้เหลือสองตัว ต้องเพิ่มเติมส่วนไหนครับ
<td><div align="center"><?=(($objResult["percent"]*100)/300)?></div></td>
<td><div align="center"><?php echo ($objResult["percent"]*100)/300; ?></div></td>
ขอบพระคุณอย่างสูง

ความคิดเห็นที่
6
ได้เเล้วครับ
<td><div align="center"><?php echo number_format(($objResult["percent"]*100)/300,2); ?></div></td>
<td><div align="center"><?php echo number_format(($objResult["percent"]*100)/300,2); ?></div></td>


ความคิดเห็นที่
7
โค้ดอีกตัว
<td><div align="center"><?=number_format(($objResult["percent"]*100)/300,2)?></div></td>
<td><div align="center"><?=number_format(($objResult["percent"]*100)/300,2)?></div></td>
