今天上午做表格数据的检查与修改,涉及到PHP对MS SQL Server数据表的查询、统计与修改。
平时我也不记编码和命令,到了用的时候都再查手册,这往往很耗费时间,现在写博客有个好处就是把有用的代码记录下来,下次就直接复制,修改一下就直接用了。
这样可以省去很多时间。
下面是检索三个表来更新数据,即主表有信息不全,检索两个其他的信息表进行补录。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<?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 '完成!' ; ?> |
检索两个表进行数据检查与修改:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<?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 '完成!' ; ?> |
获取不同的值。
1
2
3
4
5
6
7
8
9
|
<?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内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/dawn0718/article/details/123592799