• 締切済み

カテゴリ絞込みのテーブル表示の仕方(PHPのCSVデータベース)

初心者な質問すみません。 CSVのデータベースからPHPでID別にカテゴリ表示されるのを作りたいのですが、考えているのはフレームひとコマにデータを表示して3列並べると改行して並べていくのを作りたいのですが 全部一列で並んでしまいます・・・ どのようなタグを使えばいいかわかる方いらっしゃいましたらお願いします。  □□□  □□□  □□  ↑ 上手く書けませんがこんな感じにしたいんです。

みんなの回答

回答No.1

フレームひとコマ・・・ってのが良く解かりませんが、 $n = 0; while($d = fgetcsv($fp)) { echo $d[0]; if ($n && $n % 3 == 0) { echo "<br> } $n++; } こんな感じでしょうか? つまり、タグで言うとBRタグです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPとCSVで簡易データベースなるものを作りたいのです

    私はプログラミングなどに関しては全くの素人なのですが、 今回こちらのサイト様(http://affiliate.aki-f.com/prog/cat/cat9.html)を参考にして簡易データベースなるものを作ろうと思っています。 ですがやはり付け焼刃の知識ではどうにも先が見えなく困っています。 今回が初投稿なのですが何卒宜しくお願いいたします。 以下に各ソースと質問を書かせていただきます。 ------------------------CSVの中身------------------------ 商品カテゴリー,商品タイトル,値段,発売年,簡単な説明,おすすめ度 商品カテゴリー,商品タイトル,値段,発売年,簡単な説明,おすすめ度 商品カテゴリー,商品タイトル,値段,発売年,簡単な説明,おすすめ度 ~同じ用に数十件ほど~ 商品カテゴリー,商品タイトル,値段,発売年,簡単な説明,おすすめ度 ------------------------------------------------------------- 同じカテゴリー、発売年、おすすめ度などで絞込み表示するような形を想定しています。 ------------------------------INDEX.PHP------------------------ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"></head> <body> <table> <tbody> <?php $Data=file('list.csv'); for($i=1;$i<sizeof($Data);$i++){ $line=explode(",",$Data[$i]) ?> <tr> <td><a href="test.php?id=<?=$line[0]?>"><?=$line[0]?></a></td> <td><a href="test.php?id=<?=$line[1]?>"><?=$line[1]?></a></td> <td><a href="test.php?id=<?=$line[2]?>"><?=$line[2]?></a></td> <td><a href="test.php?id=<?=$line[3]?>"><?=$line[3]?></a></td> <td><a href="test.php?id=<?=$line[4]?>"><?=$line[4]?></a></td> <td><a href="test.php?id=<?=$line[5]?>"><?=$line[5]?></a></td> </tr> <?php } ?> </tbody></table></body></html> ---------------------------------------------------------------- index.phpでは全商品のリストが表示されます。 ---------------------------test.php----------------------------- <?php $id=$_GET['id'] ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"></head> <body> <table> <tbody> <?php $Data=file('list.csv'); for($i=0;$i<sizeof($Data);$i++){ $line=explode(",",$Data[$i]); if($line[/*質問1*/]==$id){ ?> <tr> <td><a href="test.php?id=<?=$line[0]?>"><?=$line[0]?></a></td> <td><a href="test.php?id=<?=$line[1]?>"><?=$line[1]?></a></td> <td><a href="test.php?id=<?=$line[2]?>"><?=$line[2]?></a></td> <td><a href="test.php?id=<?=$line[3]?>"><?=$line[3]?></a></td> <td><a href="test.php?id=<?=$line[4]?>"><?=$line[4]?></a></td> <td><a href="test.php?id=<?=$line[5]?>"><?=$line[5]?></a></td> </tr> <?php } } ?> </tbody></table></body></html> --------------------------------------------------------------- index.phpで選択された項目で絞り込んで表示するページです。 質問1 上記の、if($line[~]==$id)の、~の部分に例えば0と入っているなら商品カテゴリーを選択した時に同じカテゴリーで絞り込み表示するわけなのですが、これだけでは当然他の項目を選択しても何も表示されません。なので、~の部分に全ての$lineを巡回させるような命令を書ければ全項目での絞り込みに対応できるんじゃないかなと、素人ながらに思っているのですがどうでしょうか?またその方法、もしくは他の解決策をご教授願えますでしょうかm(_ _)m あと、index.phpとtest.phpを1つにまとめてしまえることはできるでしょうか?私としてはできるならそうしたいのです。が、うまくできませんでした。 どこか変なことを口走っているかも知れませんがご容赦ください。 宜しくお願いします。

    • 締切済み
    • PHP
  • 【Jquery】csv2tableを使ってcsvを呼び出した表について

    JQueryのcsv2tableをつかってcsvを表に吐き出ししているものを Webに設置しています。 表示する際に、csvの0列目と1列目と3列目だけを表示させられるように下記のようなタグをいれています。 <input class = "btn1" type = "button" onclick = "$('#view54').csv2table('./data/Book12-utf8.csv',{ select : [0,1,3] });" value="Run select:[0,1,3]"> <div id="view54"></div> 参考:http://jsgt.org/lib/jquery/plugin/csv2table/v002/test-tm.htm#nview54 ここに、下記タグのように、偶数行だけ色を変えるよう指定したいのですがうまくいきません。 <input class = "btn1" type = "button" onclick = " $('#view2').csv2table('./test.txt',{ onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } })" value = "Load CSV"> ここにある    onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } が必要と思い、 <input class = "btn1" type = "button" onclick = "$('#view54').csv2table('./data/Book12-utf8.csv',{ select : [0,1,3]     onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } });" value="Run select:[0,1,3]"> としたのですが、こうするとcsvが表示されなくなります。 おそらく書き方がどこかおかしいと思うのですが、どこがおかしいか教えてください。

    • ベストアンサー
    • AJAX
  • phpでcsvをhtmlにしたい

    phpでcsvデータ(行はその都度変わる。列は5行)をhtmlに罫線をかけて 表として表示させたいのですがどのように記述したらよいかわかりません。 Win2000/Anhttpd/php4.3.2

  • CSVからテーブルに書き出すときに条件をつけたい

    こんにちは! CSVファイルをPHPとHTMLタグを使ってWEBブラウザで表示しようとしています。 CSVデータを読み込んで、テーブルを表示し線の色や太さを変えるところまではできたのですが、 セルに格納されるデータを判断して、セルの背景色を指定したり文字に色を指定したりすることは可能でしょうか? それともJSPでJAVAにしたほうが容易に実現できるでしょうか? 実際にどのようなロジックか教えていただけたら嬉しいです。 当方PHPに関しては初めて一週間もたっていないほどの超初心者です。JSPに関しては仕事で作ったりしているので多少のことはわかります。 それではよろしくお願いいたします!

    • ベストアンサー
    • PHP
  • phpのデータベースへの接続

    1.PHPでフォームデータを受け取る 2.データベースに接続をして書き込み 3.書き込まれたIDを取り出す + 数値 + 乱数を一つの文字列に結合 4.上記の文字列をデータベースに保存。 このような動作は一つのphpで可能でしょうか? 2.までの動作は問題ないのですが、 3.からが動作しません。 どなたかご教授ください。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • CSVのデータをPHPで複数列表示したい

    物販サイトで、CSVでデータを作成(商品名、写真、説明、価格など)しPHPで読み込み表示、しています。 PHPは初心者のため、現在は while を使って表示させているのですが、これだと表示が縦一列になってしまいます。 これを下のように縦三列に表示させるにはどのようにすればいいのでしょうか。 商品1 商品2 商品3 商品4 商品5 商品6

    • ベストアンサー
    • PHP
  • PHPでcsv内のデータをカテゴリ・サブカテゴリ別で表示させたい

    sample.csvの中身が、 [製品名・カテゴリ・サブカテゴリ] であるとして、 これをカテゴリ・サブカテゴリ別で表示させたいのですが、 いまいちどのようにしたらいいのかわかりません。 csvの中身のカテゴリ・サブカテゴリは何個あるか分からない状況で、 それぞれのカテゴリ・サブカテゴリに一致した製品を表示していくということがしたいです。 要はcsvの中身を添付ファイルのように表示させていきたいです。 foreachでcsvを分解し、カテゴリのみの配列を新たに作成。 その配列をさらにforeachで回し、、、、 などいろいろしてみたのですが、どうにもこうにもできません。 質問内容が支離滅裂かもしれませんが、 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpの絞り込みデータを最初から表示させない

    phpでテキストタブ区切りのデータを読み込み、javascriptで絞り込みを行うページを作成しました。 初心者ですが、欲しいソースを組み合わせ、 何とか絞り込みは可能になったのですが、最初に全データが表示されます。 最初ページを開いたときにあらかじめ設定したデータのみを表示させておくことは可能でしょうか? どの部分を表示すれば良いかわからず、 ソースは、phpの部分を表記させていただきました。 ─php─ <form> <? $fn = 'books.txt'; $line = file($fn); for ($a = 1; $a < count($line); $a++) { $data = split("\t", $line[$a]); for ($b = 0; $b < count($data); $b++) $array[$b][] = $data[$b]; } $data = split("\t", $line[0]);," echo '<table id="SampleData"><thead><tr> <th>日<br><br> <label> <select id="cell1" name="cell1" class="cellIndex0"> <option value="*">-</option> <option value="上">上旬</option> <option value="中">中旬</option> <option value="下">下旬</option> </select> </label> </th> <th>title</th> <th>IMG<br><br><br></th> </tr>'; for ($a = 0; $a < count($line) - 1; $a++) { echo '</thead><TR>'; for ($b = 0; $b < count($data); $b++) echo '<td>' . $array[$b][$a] . '</td>'; echo '</tr>'; } echo '</TABLE>'; ?> </form> こちらのサイトのように、最初は何も表示されない感じがよいです。 http://javascript.maxux.com/js104.htm (こちらはプルダウンが一つしかなかったので、既存のものを編集しようと考えていました) 参考になるページでもかまいません、ご存知の方、どうかよろしくお願いいたします。 質問ばかりで申し訳ないですが、データ数が現段階で10,000を越します。 mysqlも考えてはいましたが、データはcsvやタブ区切りの方が早く作れることと、htmlタグもcsv内にあるので変換が大変かと思うのですが・・・csvやタブ区切りでは難しいでしょうか。

  • フォームに入力された値から、PHPでCSVデータを読んで表示させたい。

    フォームに入力された値から、PHPでCSVデータを読んで表示させたい。 現在、PHPでお申し込みフォームを作成中なのですが、どこのページから来たかを判別するための値から、そこのページ名を表示させたいのですが、うまくできません。 CSVファイルには1列目に値、2列目にページ名が書かれたものが、50行あります。その中から、 例えば値が5だったら、5行目の2列目に書かれているページ名を表示させたいのですが、どうしたらいいのか、教えていただきたいです。

    • ベストアンサー
    • PHP
  • phpでcsvダウンロードできない

    phpで配列をCSV にしてボタンを押すとブラウザからダウンロードさせたいのですが、 htmlタグで表示した後に、ボタンを押すとブラウザからダウンロードさせるには、以下の ヘッダーをhtmlタグより下につけると、機能しなくなってダウンロードできなくなって しまっています。 どうしたらいいのでしょうか。 header('Content-Type:application/octet-stream'); header('Content-Disposition:attachment;filename=data.csv');

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • クラウドの保存先にマイフォルダしか表示されず、共有フォルダが選択できない場合の解決方法はありますか?
  • Googleドライブの保存先を共有フォルダにする方法を教えてください。
  • 保存したいファイルをGoogleドライブの共有フォルダに保存する方法を教えてください。
回答を見る