成绩查询系统是学校网站建设时经常会遇到的情况,其实查询的过程相对来说比较简单,跟商品按条件和新闻按条件查询基本没太大的区别,而成绩查询的最主要问题是数据的上传,因为成绩数据相对来比如果大,如果手工从后台数据录入工作量非常庞大,那么如何进行数据的上传并导入到数据库是问题的关键,下面说说PHP结合MYSQL是如何实现上传并导入数据库的!
首先上传,上传过程相信每个PHPER都没有任何问题,至于导入我们是用EXCEL成绩数据表上传到服务器然后导入到MYSQL,这过程中有二种方法:
第一种方法把XLS数据存为TXT文件,此时要注意存为制表符,上传以后用下面的方法即可导入:
?php $file=@fopen("Book.txt",'r') or die("打开数据失败"); fgets($file); while(!feof($file)){ $val=fgets($file); $values=explode("\t",trim($val)); $sql="insert into `cj`(`id`,`xingming`,`xuehao`,`shenfenzheng`,`yuwen`,`shuxue`,`yingyu`,`huaxue`,`sort_id`) values('$values[0]','$values[1]','$values
[2]','$values[3]','$values[4]','$values[5]','$values[6]','$values[7]','$values[8]')"; if(!empty($values[0])){$query=$db->query($sql);} } fclose($file); echo "<script language=\"JavaScript\">\r\n"; echo " alert(\"数据导入成功!\");\r\n"; echo " history.back();\r\n"; echo "</script>"; ?>
第二种方法,直接用XLS文件来导入,此时我们用PHPEXCEL的类来处理,假如我们导入的数据库文件名为data.xls,此时要注意的是所有的文件保此编码的一致,笔者喜欢UTF-8编码,基本上都不会有问题,网页代码是UTF-8,数据库编码是UTF8-BIN,数据库联接编码设置UTF8,保证导入的数据不会出现导码的情况:程序代码如下;
if(file_exists("xls/data.xls")) { require_once 'phpreader.php'; $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('utf-8'); $data->read('xls/data.xls'); for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { $sql = "INSERT INTO ahhgzx_cj VALUES('". $data->sheets[0]['cells'][$i][1]."','". $data->sheets[0]['cells'][$i][2]."','". $data->sheets[0]['cells'][$i][3]."','". $data->sheets[0]['cells'][$i][4]."','". $data->sheets[0]['cells'][$i][5]."','". $data->sheets[0]['cells'][$i][6]."','". $data->sheets[0]['cells'][$i][7]."','". $data->sheets[0]['cells'][$i][8]."','". $data->sheets[0]['cells'][$i][9]."','". $data->sheets[0]['cells'][$i][10]."')"; //$data->sheets[0]['cells'][$i][9]."')"; $query=$db->query($sql); } //导入完成删除文件 @unlink("xls/".$picname); echo ("<script type='text/javascript'>alert('导入数据成功!');location.href='http://www.eobo.cn';</script>"); }
本文地址:http://www.eobo.cn/news/411.html
|