查询数据库后,使用php转置

我正在使用PHP来查询一个MYSQL数据库,我试图将数据输出到一个Excel文件。

我已经使用phpexcel,csv等与每个我已经成功地能够输出到excel文件的数据,但我似乎无法转置它在Excel中(转置 – 所有列翻转成行,行成列)

我找不到任何教程来帮助我。

我的问题是,是否有一种方法来使用PHP转置MYSQL的这些行和列,并将其导入到Excel文件?

谢谢!

码:

exportMysqlToCsv($tablename,$tokenmain, $id); function exportMysqlToCsv($tablename,$tokenmain, $id, $filename = 'Results.csv'){ $sql_query = "select * from $tablename where token=1"; // Gets the data from the database $result = mysql_query($sql_query); $f = fopen('php://temp', 'wt'); $first = true; //trying to transpose the data function transpose($array) { array_unshift($array, null); return call_user_func_array('array_map', $array);} //inserting it into the excel file while ($row = mysql_fetch_assoc($result)) { if ($first) { fputcsv($f, array_keys($row)); $first = false; } fputcsv($f, $row); } } //end while 

数据库示例:

 ======================================= | Male/female | Favorite artist | =====+========+===============+=======| | F | Britney Spears | |-------------------------------------| 

我想要它看起来像:

 ===================================== |Question | Answer | =====+========+===============+=====| | Male/female | F | |----+--------+---------------+-----| | Favorite artist | Britney Spears | |----+--------+---------------+-----| 

巨大的注意:没有改变数据库/硬编码在PHP数组。 我希望这一切都是dynamic的,数据库将保持现状

要回答我的问题,这是我的代码使用PHPExcel:

 $col=1; // 1-based index while($row_data = mysql_fetch_assoc($result)) { $row= 1; foreach ($row_data as $key=>$value) { $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $row++; } $col++; } $row=1; while($row_data = mysql_fetch_assoc($result2)) { $col=0; foreach($row_data as $value) { $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $row++; $col++;} } 

切换列(col)和行(row),以便数据库中的列成为excel文件中的行,并且将行同列到列中。