1. 程式人生 > >PHP+MySQL開發小專案的集合筆記(三)關聯資料庫,並限制小數位數

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;
			
		}

如程式碼。最好是在隨後限制,這樣結果明顯。