PHP에서 CSV로 내보내기 작업 중입니다. 내가 원하는 ExcelSheet 출력을 내게 잘 작동하는 코드가 있습니다. 코드 스 니펫 : 당신이 코드에서 볼 수 있듯이PHP에서 CSV로 변경
public function generate_csv() {
$data_rows = array();
$table = 'ProductDetails';
$data_rows = array();
global $wpdb, $bp;
$data= $wpdb->get_results("SELECT * FROM " . $table . "");
$fh = @fopen('php://output', 'w');
foreach ($data as $u) {
$row = array();
$row[0] = $u->productCode;
$row[1] = $u->productTitle;
$row[2] = $u->productDescription;
$row[3] = $u->specification;
$row[4] = $u->whereToBuy;
$data_rows[] = $row;
}
header("Pragma: public");
... Some more header ...
header("Content-Transfer-Encoding: binary");
fputcsv($fh, $header_row);
foreach ($data_rows as $data_row) {
fputcsv($fh, $data_row);
}
fclose($fh);
die();
}
나는 모든 열 이름을 코딩 및 배열을 만들 하드입니다. 문제는 phpMyAdmin이 데이터베이스의 열을 추가/제거한 다음 완벽한 ExcelSheet를 얻는 데 필요한 변경 사항이이 코드에서도 필요하다는 것입니다. 어느 누구도이 코드를 동적으로 만들 수있게 도와 줄 수 있습니까? $ row [0], $ row [1], $ row [2] .... 대신에해야 할 것과 같이 ??
는
후, 나는이 문제를 해결하는 방법과은에 연결하는 것이, 또는 사람들이 .. 이해 관계자에 변화를 의사 소통을하지 않고 당신이 당신의 열이 항상 일치하는지 확인해야합니다 테이블 스키마 변경 인 경우 데이터베이스에서 테이블의 스키마 덤프를 가져 와서 이름 변환 테이블로 저장하면 해당 배열을 사용하여 출력의 열 머리글을 자동으로 할당 할 수 있습니다. 상당히 견고한 솔루션이지만 번역 결과물을 만들기 위해 스키마 결과의 시작 부분을 정리해야합니다. – DDeMartini
게시 할 수있는 모든 예 ..? 죄송합니다, 그것은 어리 석었지만 PHP에서 내 나이는 단지 1 일입니다 –
물론. SQL을 사용하여 당신을 도울 수있는 질문이 더 많습니다. 나는 뭔가를 생각해 내고 대답으로 게시 할 것입니다. – DDeMartini