gpt4 book ai didi

php - 如何在 PHP 中转置 MYSQL 数据库

转载 作者:行者123 更新时间:2023-11-29 00:39:14 25 4
gpt4 key购买 nike

我正在使用 PHP 查询 MYSQL 数据库以将数据输出到 csv 文件。

我目前能够查询数据库并将数据导出到 CSV 文件。

但是我无法转置数据,以便列是行,行是列。

代码:

 function transpose($array) {
if (!is_array($array) || empty($array)) {
return array();

else {
foreach ($array as $row_key => $row) {
if (is_array($row) && !empty($row)) { //check to see if there is a second dimension

foreach ($row as $column_key => $element) {
$transposed_array[$column_key][$row_key] = $element;

else {
$transposed_array[0][$row_key] = $row;

return $transposed_array;

}
}

exportMysqlToCsv($tablename,$tokenmain, $id);
function exportMysqlToCsv($tablename,$tokenmain, $id, $filename = 'Results.csv'){
$sql_query = "select * from $tablename";

// Gets the data from the database
$result = mysql_query($sql_query);

$f = fopen('php://temp', 'wt');
$first = true;

while ($row = mysql_fetch_assoc($result)) {

if ($first) {

fputcsv($f, array_keys($row));

$first = false;
}

fputcsv($f, $row);

} // end while

$size = ftell($f);
rewind($f);
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Length: $size");

// Output to browser with appropriate mime type, you choose ;)
header("Content-type: text/x-csv");
header("Content-type: text/csv");
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=$filename");

fpassthru($f);

exit;
}

不知何故,这两个函数应该交织在一起才能提供我需要的输出。

如有任何帮助,我们将不胜感激。谢谢! -美国

最佳答案

试试这个函数:

function array_transpose($array, $selectKey = false) {
if (!is_array($array)) return false;
$return = array();
foreach($array as $key => $value) {
if (!is_array($value)) return $array;
if ($selectKey) {
if (isset($value[$selectKey])) $return[] = $value[$selectKey];
} else {
foreach ($value as $key2 => $value2) {
$return[$key2][$key] = $value2;
}
}
}
return $return;
}


$fruits = array(
array('id' => 1, 'name' => 'Apple', 'color' => 'Red'),
array('id' => 2, 'name' => 'Orange', 'color' => 'Orange'),
array('id' => 3, 'name' => 'Mango', 'color' => 'Yellow')
);
echo "<pre>";
print_r(array_transpose($fruits));
echo "</pre>";

返回:

Array
(
[id] => Array
(
[0] => 1
[1] => 2
[2] => 3
)

[name] => Array
(
[0] => Apple
[1] => Orange
[2] => Mango
)

[color] => Array
(
[0] => Red
[1] => Orange
[2] => Yellow
)

)

关于php - 如何在 PHP 中转置 MYSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13019151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com