2017-07-08 3 views
-1

drupal 7でフォームを作成しましたが、アップロードされたcsvファイルをフォーム送信時にテーブルに表示する方法は、ファイルをアップロードするフィールド(csvファイルのみ)です。drupalに浮動小数点形式のcsvファイルをtabular形式で表示する方法

enter image description here

+0

どのテーブル?あなたはこれをもっとうまく説明しなければなりません。 – MilanG

+0

私はちょうど次のdrupal inbuilt関数を使い、後で使うために変数に代入したいと思っています: $ res = theme( 'table'、array( 'header' => $ header、 'rows' => $ rows)); これを行う方法。前もって感謝します ! – Rajan

答えて

0

さまざまなコード演習を行った後、私は次のような解決策を思いつきました:

`function display_table($filename, $head=false) { 
    $handle = fopen($filename, "r"); 
    $all_rows = array(); 
    $header = null; 
    while ($row = fgetcsv($handle)) { 
    if ($header === null) { 
     $header = $row; 
     continue; 
    } 
    $all_rows[] = array_combine($header, $row); 
    } 
    $table = theme('table', array('header' => $header, 'rows' => $all_rows)); 
    return $table; 
}` 

他の人にも役立つことを願っています。

0

テーマ機能についてわからないが、あなたは自分でそれを行うことができます。

I.e.使用:

http://php.net/manual/en/function.file-get-contents.php

は、そのファイルとを読み取るには:

http://php.net/manual/en/function.str-getcsv.php

は、CSVを解析します。

または、多分:

http://php.net/manual/en/function.fgetcsv.php

行ずつ読むこと。とにかく、ループしているトラフの行で終わるので、値を印字して値をマークアップしてください。

+0

私はテーブルを作成するために次の関数を作成しましたが、私はseprate変数のヘッダと行だけを必要とします。function test($ file_path、$ header = false){$ handle = fopen($ filename、 "r"); echo '

'; if($ header){$ csvcontents = fgetcsv($ handle); echo ''; foreachの($ headercolumnとして$ csvcontents){エコー "";}エコー ' ';}ながら($ csvcontents = fgetcsv($ハンドル)){エコー' '; foreachの($列として$ csvcontents){ echo "​​$ column";} '';}エコー '
$ headercolumn
'; fclose($ handle);} 私はtheme()を使うことができるように、ヘッダとローをseprateできますか? – Rajan

+0

あなたの提案とガイドライン@MilanGに感謝します。 – Rajan

+0

ようこそ。 – MilanG

関連する問題