ดึงข้อมูลมาคำนวณ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ดึงข้อมูลมาคำนวณ

ดึงข้อมูลมาคำนวณ



รูปนี้เป็นข้อมูลที่เก็บไว้ใน data base              รูปนี้เป็นข้อมูลที่ต้องการให้แสดงผล

ผมต้องการคำนวณค่าในช่อง Num ในลักษณะสะสมไปเรื่อยดั่งช่อง Total จนกว่าจะพบค่าที่เป็น 0 ถึงจะเริ่มคำนวณใหม่  

ประมาณนี้ ผมต้องเขียนโค้ตยังไงครับ            


ผู้ชายลันลา ลันลาๆ 04-11-2015 23:02:54

คำแนะนำ และการใช้งาน

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


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

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


ninenik 04-11-2015
 ความคิดเห็นที่ 2
คือว่าตารางฝั่งซ้ายเป็นข้อมูลที่อยู่ใน data base  ส่วนตารางด้านขาว คือ ตารางที่ต้องการแสดงในเว็บไซต์
ค่าที่ได้จากการคำนวณจะแสดงในช่อง total

ค่าเริ่มต้นที่    id=0         num=0              total=0
                   id =1        num=8              total=8+0=8          
>>>>เริ่มคำนวณใหม่
                   id =2        num=6              total=8+6=14  
                   id =3        num=16            total=14+16=30
                   id =4         num=11             total=30+11=41     >>>>หยุดคำนวณเมื่อ num=0
                   id =5        num=0              total=0                  
                   id =6        num=5              total=5+0=5           >>>>เริ่มคำนวณใหม่
                   id =7        num=14            total=5+14=19  
                   id =8        num=2              total=19+2=21  
                   id =9        num=12            total=21+12=33     >>>>หยุดคำนวณเมื่อ num=0
  
อย่างงี้ไปเรื่อยๆๆอาครับ พอจะมีทางไมครับ




ผู้ชายลันลา ลันลาๆ 04-11-2015 23:46
 ความคิดเห็นที่ 3
น่าจะประมาณนี้้

<?php
$aggre_amount=0;
$sql="";
...
while($rs...){
    if($rs['....']>0){ // 
        $aggre_amount+=$rs['....'];
    }else{
        $aggre_amount=0;
    }
    echo $aggre_mount;
}
?>


ninenik 05-11-2015
 ความคิดเห็นที่ 4
ได้แล้วครับ ถ้าผมอยากให้มันนำผลลัพ ที่ได้ไปเก็บไว้ในดาต้าเบสจะได้ไหมครับ


ผู้ชายลันลา ลันลาๆ 05-11-2015 13:39
 ความคิดเห็นที่ 5
<?php
	$host = "localhost";
	$userhost = "chean";
	$passhost = "chean"; 
	$database = "busstop";
	
	$objConnect = mysql_connect("$host","$userhost","$passhost") or die(mysql_error());
	$objDB = mysql_select_db("$database");
	$strSQL = "select * from test ORDER BY ID ASC ";
	$objQuery = mysql_query($strSQL) or die (mysql_error());
	$intNumField = mysql_num_fields($objQuery);
	$resultArray = array();
	$aggre_amount=0;
	//$total=0;
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div align="center"><table width="650" border="1">
  <tr>
    <th width="150"> <div align="center">ID</div></th>
    <th width="200"> <div align="center">NUM</div></th>
    <th width="150"> <div align="center">TOTAL</div></th>
  </tr>
<?php
	while($objResult = mysql_fetch_array($objQuery))
	{
    if($objResult["Num"]>0){
        $aggre_amount+=$objResult["Num"];
		//echo $aggre_amount;
    }else{
        $aggre_amount=0;
		//echo $aggre_amount;
    }
?>
  <tr>
    <th width="150"> <div align="center"><?php echo $objResult["ID"];?></div></th>
    <th width="200"> <div align="center"><?php echo $objResult["Num"];?></div></th>
    <th width="150"> <div align="center"><?php echo $aggre_amount;?></div></th>
  </tr>
<?php
}
mysql_close($objConnect);
?>


ผู้ชายลันลา ลันลาๆ 05-11-2015 13:40
 ความคิดเห็นที่ 6
<html>
<head>
<title>UP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<script language="JavaScript">
	   var HttPRequest = false;

	   function doCallAjax(Sort) {
		  HttPRequest = false;
		  if (window.XMLHttpRequest) { // Mozilla, Safari,...
			 HttPRequest = new XMLHttpRequest();
			 if (HttPRequest.overrideMimeType) {
				HttPRequest.overrideMimeType('text/html');
			 }
		  } else if (window.ActiveXObject) { // IE
			 try {
				HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
			 } catch (e) {
				try {
				   HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			 }
		  } 
		  
		  if (!HttPRequest) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		  }
	
			var url = 'sumtest.php';
			var pmeters = 'mySort='+Sort;
			HttPRequest.open('POST',url,true);

			HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			HttPRequest.setRequestHeader("Content-length", pmeters.length);
			HttPRequest.setRequestHeader("Connection", "close");
			HttPRequest.send(pmeters);
			
			
			HttPRequest.onreadystatechange = function()
			{

				 if(HttPRequest.readyState == 3)  // Loading Request
				  {
				   document.getElementById("mySpan").innerHTML = "Now is Loading...";
				  }

				 if(HttPRequest.readyState == 4) // Return Request
				  {
				   document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
				  }
				
			}

	   }
</script>
<body Onload="bodyOnload();"><!--background ="http://www.myartidol.com/demo/pix/Kanchanaburi2012/Amazing-Kanchanaburi-iGoalkwphoto-015.jpg"-->
<center>

<fieldset style="width:50%"><legend><h1> จำนวนผู้โดยสารสะสม </h1></legend>
<br>
<form name="frmMain" action="" method="post">
	<script language="JavaScript">

	function bodyOnload()
	{
		doCallAjax('ID')
		setTimeout("doLoop();",1000);
	}
	function doLoop()
	{
		bodyOnload();
	}
	</script>
<span id="mySpan"></span>
</form >
</fieldset>
</center>
</body>
</html>


ผู้ชายลันลา ลันลาๆ 05-11-2015 13:41
 ความคิดเห็นที่ 7


ผู้ชายลันลา ลันลาๆ 06-11-2015 00:02
 ความคิดเห็นที่ 8
ปกติบันทึก ็ใช้คำสั่ง sql ทำงานเลยไม่ใช่หรอ ไม่น่าจะต้องใช้ ajax 


ninenik 06-11-2015
 ความคิดเห็นที่ 9
พอจะมีตัวอย่างให้เป็นแนวให้ประยุกค์ใช้ไหมครับผมทำไม่ค่อยเป็นครับ


ผู้ชายลันลา ลันลาๆ 06-11-2015 12:06
 ความคิดเห็นที่ 10
น่าจะแนวๆ นี้

<?php
	$host = "localhost";
	$userhost = "chean";
	$passhost = "chean"; 
	$database = "busstop";
	
	$objConnect = mysql_connect("$host","$userhost","$passhost") or die(mysql_error());
	$objDB = mysql_select_db("$database");
	$strSQL = "select * from test ORDER BY ID ASC ";
	$objQuery = mysql_query($strSQL) or die (mysql_error());
	$intNumField = mysql_num_fields($objQuery);
	$resultArray = array();
	$aggre_amount=0;
	//$total=0;
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div align="center"><table width="650" border="1">
  <tr>
    <th width="150"> <div align="center">ID</div></th>
    <th width="200"> <div align="center">NUM</div></th>
    <th width="150"> <div align="center">TOTAL</div></th>
  </tr>
<?php
	while($objResult = mysql_fetch_array($objQuery))
	{
    if($objResult["Num"]>0){
        $aggre_amount+=$objResult["Num"];
		//echo $aggre_amount;
    }else{
        $aggre_amount=0;
		//echo $aggre_amount;
    }
    @mysql_query("
    UPDATE table SET 
    aaa='dd',
    bbb='bbb'
    WHERE xxxx=xxxx
    ");
?>
  <tr>
    <th width="150"> <div align="center"><?php echo $objResult["ID"];?></div></th>
    <th width="200"> <div align="center"><?php echo $objResult["Num"];?></div></th>
    <th width="150"> <div align="center"><?php echo $aggre_amount;?></div></th>
  </tr>
<?php
}
mysql_close($objConnect);
?>


ninenik 06-11-2015
1 2 Next






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ