存档

文章标签 ‘php’

数据复活

2009年4月10日 李悦 没有评论

  某个系统管理员一不小心直接用数据库管理工具把一文章表的标题字段类型改了,导致所有文章标题不能正常显示了。上万条的数据有点懵了。之前数据库也没有备份过。试图修复数据库也没有成功。唯一的希望寄托在数据库本身的结构上。
  由于文章的部分信息在另外一个表中也有所体现,标题信息正在其中。只要将这部分信息重写回表中就可以恢复。两个表是通过ID相关联的。检索出文章对应的标题并写回原表。但是原表文章范围大于另一个表,只要少量信息不存在。能恢复大部分信息就好了。

<?php
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "password";
$DB_DBName = "dbname";
//$DB_TBLName = "column_article";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password)
or die("Couldn't connect.");
$Db = @mysql_select_db($DB_DBName, $Connect)
or die("Couldn't select database.");
 
$sql = "Select column_article.title,column_article.articleid,article.title,article.id from column_article,article where column_article.articleid=article.id";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect)
or die("Couldn't select database");
 
$result = @mysql_query($sql,$Connect)
or die(mysql_error());
 
$i = 0;
while($row = mysql_fetch_row($result))
{
$title2=$row[0];
$title2id=$row[1];
$upd = @mysql_query("update article set article.title='$title2' where article.id=$title2id",$Connect);
$i++;
}
return (true);
?>
分类: 系统 标签: ,

数组的应用

2008年10月20日 李悦 没有评论

  对已知数目的查询条件,使用数组定义,然后遍历数组,使用while循环查询符合数组数值条件的记录,并统计。
  片段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
		//数组
		$workArray = array("办公室", "财务基建", "人事处", "老干部处", "机关党委","纪检监察","综合处","核算处","政法处","工业处","能源处","农村处","国贸处","外经处","投资处","服务业处","人口处","社科处","普查中心","基普办","科研所","计算中心","教育中心","记者站","印刷厂"); 
 
			while  (list($key,$value) = each($workArray))  {
				$z--;
				$sql5="select count(id) as id from art where author='$value' and createdate>='$starttime' and createdate <='$endtime'";
				$r5= $DB_web->query_first($sql5);
 
				print "<tr bgcolor='#DDDDDD'>";
				print "<td height='20'>&nbsp;$value</td>";
				print "<td height='20'>&nbsp;$r5[id]</td>";
        print "</tr>";
 
			}
分类: 系统 标签: ,