• 締切済み

PHPでcsvファイルを一覧表示するにはどうすれば良いのでしょうか?

<?php //ファイルを開く $fp = fopen('maillog.csv', 'r') or die('ファイルが開けません'); //テーブルを出力 echo '<table border="1">'; while ($field_array = fgetcsv($fp, 10000, ',', '"')) { echo '<tr>'; foreach ($field_array as $value) { echo '<td>'.htmlspecialchars($value, ENT_QUOTES).'</td>'; } echo '</tr>'; } echo '<table>'; //ファイルを閉じる fclose($fp); ?> プログラムだと、全ての項目が表示されてしまうので 少ない項目(3~4つ)で表示できるにはどうすれば良いのでしょうか? また、各項目毎のタイトルも付けたいのですが お願いします。

みんなの回答

回答No.4

あ、申し訳ない…trが抜けてました。 theadはテーブルの見出しタグで、このタグを使うと たとえば印刷するときなんかにテーブルが途中で切れてもtheadの中に入っているセルが冒頭に入るようになります。 echo '<thead><tr><td>項目名</td><td>項目名</td>…【略】</tr></thead>'; >文字が縦から横へ表示するよい方法は、ないでしょうか? nowrapという属性を指定すると改行を禁止できます。 http://www.tohoho-web.com/html/td.htm <td nowrap>項目名</td>

参考URL:
http://www.htmq.com/html/thead.shtml
jojo0203
質問者

お礼

お忙しい中 本当に有難うございます。 ちょっとやってみますね また、わからなくなったら教えてくださいね

回答No.3

whileの前にtheadをつけとけばいいのでは? echo '<table border="1">'; echo '<thead><td>項目名</td><td>項目名</td>…【略】</thead>'; echo '<tbody>'; while ($field_array = fgetcsv($fp, 10000, ',', '"')) {

jojo0203
質問者

お礼

<thead>なんですね <tr>でやってみたんです 有難うございます。 文字が縦から横へ表示するよい方法は、ないでしょうか? いろいろ有難うございます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>項目の上にタイトルを付けるには いや、だから・・・ csvに該当するデータがあるなら別ですがないのですよね? であれば、想像しながら手で書くしかありません。 $header=Array("項目1","項目2","項目3",・・・); あとは、前回例示したフローと同等のものを走らせてやればよいでしょう

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

たとえばこんな感じ。 foreach ($field_array as $key=>$value) { if(!in_array($key,Array(0,2,4))) continue; echo '<td>'.htmlspecialchars($value, ENT_QUOTES).'</td>'; } 0、2、4番目のデータだけ表示します。 >各項目毎のタイトル タイトルのリストを配列で用意しておけばよいでしょう。

jojo0203
質問者

お礼

早々、回答ありがとうございます。 arrayの使い方がわかりました嬉しいです 良かったら、項目の上にタイトルを付けるには どうしたら良いのですか?

関連するQ&A