行き詰まったので教えて下さい。
まずやりたいことが2つあります。
1、データの配列0にカラム名が欲しい
2,ファイルに名前をつけて保存のダイアログが出したい
1、
Ajaxの戻り値でデータベースのキーを取得し
GetNewmaster($number);で関数を動かし
$data = 配列として入れます
例:
1,0,0
2,0,0
しかし、普通に
select * from test where id ="$human_number';
で、sql発行しても データしかセレクト出きません
項目名を最初に入れたいんですが 調べてもどのようにやるのか無くて困っています。
データベースから項目名をセレクトするのか
CSV生成部分で項目名を入れるのか・・
2、
csvを生成し
headerで名前を付けて保存できるようにしたいのですが
これが全く動きません。
php
1 2function GetNewmaster($human_number){ 3 global $USER_NAME; 4 global $PASS; 5 global $SERVER_NAME; 6 $ConnectOracle = ConnectOracle($USER_NAME, $PASS, $SERVER_NAME); 7 //品番抜き出しsql 8 $PersonalDate_sql = "select * from TEST where id ='" . $human_number . "' ORDER BY workday DESC"; 9 //UTF-8からSJISにエンコード 10 $PersonalDate_sql = mb_convert_encoding($PersonalDate_sql, "sjis-win", "utf-8"); 11 //oracle → parse 12 $id = oci_parse($ConnectOracle, $PersonalDate_sql); 13 //oracle → execute 14 oci_execute($id); 15 while ($row = oci_fetch_array($id, OCI_ASSOC + OCI_RETURN_NULLS)) { 16 $row = mb_convert_encoding($row, "utf-8", "sjis-win"); 17 $Result[] = $row; 18 } 19 //oracle → 接続クローズ 20 oci_close($ConnectOracle); 21 return $Result; 22} 23 24if($_REQUEST["csv_get"]){ 25 $csvdata = "test.csv"; 26 $number = $_REQUEST["csv_get"]; 27 $data = GetNewmaster($number); 28 $fp = fopen('test.csv', 'w'); 29 foreach ($data as $line) { 30 fputcsv($fp, $line); 31 } 32 fclose($fp); 33$filepath = 'test.csv'; 34header('Content-Type: application/octet-stream'); 35header('Content-Length: '.filesize($filepath)); 36header('Content-Disposition: attachment; filename=test.csv'); 37// ファイル出力 38readfile($filepath); 39 exit(); 40} 41
ご教授よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー