1 关于在线表格功能实现的思考。
以用户角度思考,每个用户上传自己的excel文件,excel文件读取,并显示到网络表格上。
设计过程可以采取两种方式,
一个是每次导入excel文件,只将其读取,显示在表格中,不经过mysql数据库这一环,只有用户编辑好之后,有需要时再根据用户设置表名,创建table ,导入数据库。另一个是每次导入读取后,都用数据库读取进一个临时的表,然后进行数据库读取显示。用户需要保存的时候,重新创建一个表存储,然后废弃掉原来的表。这就需要调用两个表。
这两种方法建立的前提是,用户都得在服务器上拥有一个属于自己的数据库(可按照ID名进行创建),并且对自己的表有设置权限。整体来讲,从消耗和效率上来讲,前面的要好,但是easyUI的demo的固有模式是通过数据库的读取实现的,而且实现的插入、新建这些功能都是只有在数据库建成的情况下才能够实现的。因此第二种从操作上,人工要求的要少很多。
2 str_replace(find,replace,string,count)
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。
ini_get
获取php.ini中的变量值
3 PHP中判断表是否存在的方法:
如果表不存在就建立这个表,那么可以直接用 create table if not exists tablename 这样的指令来建立,不需要先去查询表是否存在。
如果只是判断,通过查询语句是否实现去完成。
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$table."'")==1) {}
4 PHP多维数组化一维数组的函数
其实是一个递归调用,只要不是数组,那么就会一直分解。
function arrayChange($a){
static $arr2;
foreach($a as $v)
{
if(is_array($v))
{
arrayChange($v);
}else{
$arr2[]=$v;
}
}
return $arr2;
}