首頁 > 軟體

PHP操作SQL Server資料庫實現表的改查與統計

2022-03-19 19:01:04

今天上午做表格資料的檢查與修改,涉及到PHP對MS SQL Server資料表的查詢、統計與修改。

平時我也不記編碼和命令,到了用的時候都再查手冊,這往往很耗費時間,現在寫部落格有個好處就是把有用的程式碼記錄下來,下次就直接複製,修改一下就直接用了。

這樣可以省去很多時間。

下面是檢索三個表來更新資料,即主表有資訊不全,檢索兩個其他的資訊表進行補錄。

<?php
require 'pspLinkConfig.php';//載入資料庫
 
$sql = "select C24 from cwkA2012 where C18=1";
$res1 = $EisConn->prepare($sql);//準備查詢語句
$res1->execute();//執行
$count=0;
while( $result=$res1->fetch(PDO::FETCH_ASSOC) ){
	$count=$count+1;
	$ZCBM=$result['C24'];//資產編碼
	//獲取資產狀態
	$sql = "select C20 from AssetsA2012 where C02='$ZCBM'";
	$res2 = $EisConn->query($sql);
	$rows2=$res2->fetchAll(PDO::FETCH_ASSOC);
	if($rows2){
		$ZCZT=$rows2[0]['C20'];//獲取資產狀態	
	}else{
		$ZCZT='正常★';//獲取資產狀態	
	}
	//判斷是否有保管資訊
	$sql = "select count(*) from InUser2012 where C01='$ZCBM'";
	$result3 =$EisConn->query($sql);
	$rows3 = $result3->fetch();
	$rowCount = $rows3[0];	
	if ( $rowCount ) {	
		//獲取保管人、保管單位、保管地點
		$sql = "select C03,C04,C06 from InUser2012 where C01='$ZCBM'";
		$res4 = $EisConn->query($sql);
		$rows=$res4->fetchAll(PDO::FETCH_ASSOC);
		$BGR=$rows[0]['C03'];//獲取保管人
		$BGDW=$rows[0]['C04'];//獲取保管單位
		$BGDD=$rows[0]['C06'];//獲取保管地點
		//更新財務資產表
		$ZCBM=trim($ZCBM);
		$Set=" C25='$BGR',C26='$BGDD',C27='$ZCZT' ";
		$sql = "UPDATE cwkA2012 SET $Set WHERE C24='$ZCBM' and C18=1";
		$result = $EisConn->exec($sql);
 
		try {
			if ( $result>0 ) {
				echo $ZCBM.'===OK'.'<br>';
			}else{
				echo '資產編號:'.$ZCBM.' 更新記錄失敗!'.'<br>';
			}
		}catch (PDOException $e){
			echo '錯誤資訊:'.$e.getMessage();
		}			
	}
}
echo '完成!';
?>

檢索兩個表進行資料檢查與修改:

<?php
require 'DawnEisLinkConfig.php';//載入資料庫
 
$sql = "select C24,C23,C25,C26 from cwkAssets where C18=1";
$res1 = $EisConn->prepare($sql);//準備查詢語句
$res1->execute();//執行
$count=0;
while( $result=$res1->fetch(PDO::FETCH_ASSOC) ){
	$count=$count+1;
	$ZCBM=$result['C24'];//資產編碼
	$newUNit=$result['C24'];//新單位名稱
	$BGR=$result['C25'];//保管人
	$BGDD=$result['C26'];//保管地點
	//獲取資產狀態
	$sql = "select C20 from computerAssetsInfo where C02='$ZCBM'";
	$res2 = $EisConn->query($sql);
	$rows2=$res2->fetchAll(PDO::FETCH_ASSOC);
	if($rows2){
		$ZCZT=$rows2[0]['C20'];//獲取資產狀態	
	}else{
		$ZCZT='正常★';//獲取資產狀態	
	}
 
	if($BGR=='' || $BGR==null || $BGR=="不詳" ){
			$BGR="公用";			
	}
	
	//判斷是否有保管資訊
	$sql = "select count(*) from computerInUserInfo where C01='$ZCBM'";
	$result3 =$EisConn->query($sql);
	$rows3 = $result3->fetch();
	$rowCount = $rows3[0];	
 
	//更新財務資產表
	$Set=" C25='$BGR',C27='$ZCZT' ";
	$sql = "UPDATE cwkAssets SET $Set WHERE C24='$ZCBM' and C18=1";
	$result = $EisConn->exec($sql);
 
	try {
		if ( $result>0 ) {
			echo $ZCBM.' OK'.'<br>';
		}else{
			echo '資產編號:'.$ZCBM.' 更新記錄失敗!'.'<br>';
		}
	}catch (PDOException $e){
		echo '錯誤資訊:'.$e.getMessage();
	}			
 
}
echo '完成!';
?>

獲取不同的值。

<?php
require 'LinkConfig.php';//載入資料庫
$sql = "select distinct C04 from AssetsInfo where C26='計算機'";		
$res = $EisConn->prepare($sql);//準備查詢語句
$res->execute();//執行
while( $result=$res->fetch(PDO::FETCH_ASSOC) ){
	echo $result['C04'].'<br>';
}
?>

真正開始學習PHP也三個多月了,對於PHP的指令碼和命令還是不熟,也記不住,都是現拿現用,這樣也方便了以後的使用。

到此這篇關於PHP操作SQL Server資料庫實現表的改查與統計的文章就介紹到這了,更多相關PHP SQL Server內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com