PHP+MySQL开发小项目的集合笔记(三)关联数据库,并限制小数位数

需求:先关联数据,最后显示数据限制,小数的位数。

MySQL语句:

SELECT 
	`ID`,`TDC_PlanningHC`,`TDC_EntryHC`,`TDC_ExitHC`,`Priority_num`,`Priority_char` FROM rmk 
	WHERE `Fix_Version` = '19A_Block' AND `Status` != 'Cancelled'
	ORDER BY 
	CASE
		when `Priority_char` = 'Highest' THEN 1
		WHEN `Priority_char` = 'High' THEN 2
		when `Priority_char` = 'Medium' THEN 3
		WHEN `Priority_char` = 'Low' THEN 4
	END,
	`Priority_num` DESC

增加WHERE语句可以限制显示的条数。

从test_sizing中查询赋值到数据内:

$TID = $row["ID"];
			$Temp = "SELECT * FROM test_sizing WHERE  `RMK` =  '{$TID}' ";
			$Tresult = $mysqli->query($Temp);
			$Trow = mysqli_fetch_array($Tresult,MYSQLI_ASSOC);
			if($Trow == NULL){
				$user->TDC_PlanningHC = "0";
				$user->TDC_EntryHC = "0";
				$user->TDC_ExitHC = "0";
				
				}else{
					for($i = 0;$i < 3;$i++){
						$Tsql = "SELECT SUM(Headcount) FROM test_sizing WHERE  `RMK` =  '{$TID}' AND  `Phase` =  '{$i}'";
						$Tresult = $mysqli->query($Tsql);
						$Trow = mysqli_fetch_array($Tresult,MYSQLI_ASSOC);
						if($i == 0){
							$user->TDC_PlanningHC = $Trow['SUM(Headcount)'];
						}else if($i == 1){
							$user->TDC_EntryHC = $Trow['SUM(Headcount)'];
						}else if($i == 2){
							$user->TDC_ExitHC = $Trow['SUM(Headcount)'];
						}
					}
					
				}

首先,提取ID,根据ID查看test_sizeing表的数据,如相同数据进行,下一步查看Phase数据为0的叠加为TDC_PlanningHC 。如果Phase数据为1的叠加为TDC_EntryHC ,如果Phase数据为2的叠加为TDC_ExitHC。如果都没有,就赋值为字符串0。

增加sprintf("%.1f",$first1)函数,限定小数点后一位。

$firsty=NULL;
			$first1=NULL;
			$first2=NULL;
			$first3=NULL;
		for($i = 0;$i < count($djson);$i++){
			$firsty = 1 + $i;
			$threey = strval($firsty);
			$djson[$i]["y"]=$threey;

			$first1 = $first1 + floatval($djson[$i]["TDC_PlanningHC"]);
//			$three1 = strval($first1);
			$three1 = sprintf("%.1f",$first1);
			$djson[$i]["TDC_PlanningHC"]=$three1;

			$first2 = $first2 + floatval($djson[$i]["TDC_EntryHC"]);
//			$three2 = strval($first2);
			$three2 = sprintf("%.1f",$first2);
			$djson[$i]["TDC_EntryHC"]=$three2;

			$first3 = $first3 + floatval($djson[$i]["TDC_ExitHC"]);
//			$three3 = strval($first3);
			$three3 = sprintf("%.1f",$first3);
			$djson[$i]["TDC_ExitHC"]=$three3;
			
		}

如代码。最好是在随后限制,这样结果明显。

猜你喜欢

转载自blog.csdn.net/qq_33568065/article/details/82840278