21,886
社区成员
发帖
与我相关
我的任务
分享
$s =<<< TXT
一年级:小明,小红,小,小白
二年级:小A,小B,小C,小Z
TXT;
$ar = explode(PHP_EOL, $s);
array_walk($ar, function(&$v) {
$v = preg_split('/:|,/', $v);
});
//print_r($ar);
//构建数据结束
$db = new PDO('mysql:dbname=test', 'root', '');
$db->query('set names gbk');
$db->query("create temporary table biao (name varchar(10), banji varchar(10), other int) charset=gbk");
$smt = $db->prepare("insert into biao values (?, ?, 0)");
//数据库准备结束
foreach($ar as $v) {
$m = array_shift($v);
foreach($v as $t) $smt->execute(array($t, $m));
}
//插入数据结束
$r = $db->query("select * from biao")->fetchall(PDO::FETCH_ASSOC);
print_r($r); //看一下结果
Array
(
[0] => Array
(
[name] => 小明
[banji] => 一年级
[other] => 0
)
[1] => Array
(
[name] => 小红
[banji] => 一年级
[other] => 0
)
[2] => Array
(
[name] => 小
[banji] => 一年级
[other] => 0
)
[3] => Array
(
[name] => 小白
[banji] => 一年级
[other] => 0
)
[4] => Array
(
[name] => 小A
[banji] => 二年级
[other] => 0
)
[5] => Array
(
[name] => 小B
[banji] => 二年级
[other] => 0
)
[6] => Array
(
[name] => 小C
[banji] => 二年级
[other] => 0
)
[7] => Array
(
[name] => 小Z
[banji] => 二年级
[other] => 0
)
)
$dao = file_get_contents(文本);
$dao = preg_replace('/\n|\r\n/', '|', $dao);
$arr = array_filter(explode('|', $dao));
$arr = array_chunk($arr, 1000);
foreach($arr as $value){
$string = '';
foreach($value as $v){
$string .= "('$v'),";
}
$string = trim($string, ',');
mysql_query("insert into biao VALUES " . $string);
}
另外,顺便问一下大家,最近在写到PDO一分页的代码,有个问题:
A:把分页写成封装类,要用到的地方来调用
B:要用到的地方把分页代码复制过来加已修改
在不考虑代码重复写入的话,是A还是B有效率(程序的处理)?