while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo '<td>' . $row['fname'] . '</td>';
echo '<td>' . $row['lname'] . '</td>';
echo '<td>' .(( $row['gender']=='m' )?'male':'female'). '</td>';
echo '<td>' . $row['dob'] . '</td>';
echo '<td>' . $row['mobnum'] . '</td>';
// echo '<td>' . $row['mobnum'] . '</td>';
echo '<td>' . (($row['selqual']=='s')?'school':'college'). '</td>';
echo '<td>' . $row['address'] . '</td>';
echo '<td>' . $row['email_id'] . '</td>';
//get course = calling function
echo '<td>' . getcourse($row['course_name']) . '</td>';
echo '<td>' . $row['date_time'] . '</td>';
// echo '<td>'. $course_name=(explode(',',$_row['course_name'])) . '</td>';
echo "</tr>";
}
echo "</table>";
}
嗨,我对php很新鲜。我正在填充并在db中的各个表的while循环中显示这些结果。我想将这些数据导出为csv格式。有什么办法可以将它们存储在数组中并使用数组进行导出??如果是,请指导我。
答案 0 :(得分:0)
导出到csv
非常常见PHP甚至还提供本机功能。请看fputcsv。
答案 1 :(得分:0)
添加标题在页面顶部。
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");
希望这有帮助。 感谢
答案 2 :(得分:0)
使用PHP,将数据写入CSV文件非常容易。你需要做的事情是:
mysql_fetch_array
获取(不是在讨论扩展的弃用),这会将结果提取两次,一次数字索引,一次作为一个关联数组。仅作为assoc数组获取:mysql_fetch_assoc
fopen('filename.csv', 'w');
应该没问题fputcsv
反正:
$csv = fopen('out.csv', 'w');
if (!$csv)
{
exit('Failed to open csv');
}
while($row = mysql_fetch_assoc($result))
{
fputcsv($csv, $row);//writes line to CSV
//process $row further, if you want
}
fclose($csv);//<-- don't forget to close the file
如果出于某种原因,在将相同数据写入文件之前,您希望拥有一个包含 all 数据的数组:
$data = array();//<-- big array
while($row = mysql_fetch_assoc($result))
{
$data[] = $row;//add row to data array
}
//code
//then:
$fh = fopen('export.csv', 'w');
foreach ($data as $line)
{
fputcsv($fh, $line);
}
fclose($fh);
易。