elseif ($action=='export') { //导出CSV
$result = mysql_query("select * from aa");
$str = "id,uniprot,url\n";
$str = iconv('utf-8','gb2312',$str);
while($row=mysql_fetch_array($result)){
$name = iconv('utf-8','gb2312',$row['id']);
$sex = iconv('utf-8','gb2312',$row['uniprot']);
$str .= $name.",".$sex.",".$row['url']."\n";
}
$filename = date('Ymd').'.csv';
export_csv($filename,$str);
}
function input_csv($handle) {
$out = array ();
$n = 0;
while ($data = fgetcsv($handle, 10000)) {
$num = count($data);
for ($i = 0; $i < $num; $i++) {
$out[$n][$i] = $data[$i];
}
$n++;
}
return $out;
}
function export_csv($filename,$data) {
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $data;
}
首先声明我php不是很熟悉。根据代码可以知道 如果action=='export' 就执行导出语句。
$result = mysql_query("select * from aa"); 代表从aa表获取结果集;
while($row=mysql_fetch_array($result)){ //遍历结果集并取值,
$name = iconv('utf-8','gb2312',$row['id']);
$sex = iconv('utf-8','gb2312',$row['uniprot']);
$str .= $name.",".$sex.",".$row['url']."\n";
}
$filename = date('Ymd').'.csv'; //导出csv文件的名字
export_csv($filename,$str); //调用导出函数
//将导出结果响应给用户
function export_csv($filename,$data) {
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $data;
}