• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:foreachの間にテーブルの<TR>を出力)

HTMLテーブルのデータ出力方法についての質問

このQ&Aのポイント
  • HTMLのテーブルにデータを入れる方法が分からない。6列ごとに改行を入れたい。データは1〜12個まであり、一行か二行にわたる場合もある。既に他の情報を探したが理解できなかった。
  • HTMLのテーブルにデータを入れる方法を教えてください。6列ごとに改行を入れる方法がわかりません。データは1〜12個ありますが、一行か二行にわたることもあります。他の情報を調べましたが、理解できませんでした。
  • HTMLのテーブルにデータを入れる方法を教えてください。6列ごとに改行を入れたいです。データの数は1〜12個で、一行か二行にわたることもあります。他の情報を探しましたが、理解することができませんでした。

質問者が選んだベストアンサー

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

こんなかんじでどうでしょ? maxcolの値を変えると表示がかわるのがわかると思います。 <table border width="600"> <tbody> <? $item_array=Array( Array("ITEMNAME"=>"a") ,Array("ITEMNAME"=>"b") ,Array("ITEMNAME"=>"c") ,Array("ITEMNAME"=>"d") ,Array("ITEMNAME"=>"e") ,Array("ITEMNAME"=>"f") ,Array("ITEMNAME"=>"g") ); $maxcol=6; $count=0; foreach($item_array as $item){ if($count==0) print "<tr>"; print "<td>{$item['ITEMNAME']}</td>"; if($count==$maxcol -1) print "</tr>\n"; $count=++$count % $maxcol; } while($count!=0 and $count<$maxcol){ print "<td>&nbsp;</td>"; if($count==($maxcol -1)) print "</tr>"; $count++; } ?> </tbody> </table>

shibuya513
質問者

お礼

ありがとうございました。

shibuya513
質問者

補足

ありがとうございます。 テーブル二行になりました! テーブルに入るデータなのですが、ITEMNAMEの値が入って欲しいのですが、aとかがそのまま表示されてしまいます。どう修正すればいいのでしょうか。何度もごめんなさい。

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

その他の回答 (1)

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

>テーブルに入るデータなのですが、ITEMNAMEの値が入って欲しいのですが おっしゃる意味がわかりかねます。 前回のもので深読みして実際そうなるようにつくってあるつもりですが、 データ構造が違いますか?

shibuya513
質問者

補足

すみません勘違いでした、無事に表示されましたありがとうございました。

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

関連するQ&A

  • foreachの使い方

    ------------------------------------------- include.php <?php $kakaku = array(1=>'300', 2=>'500' ); $picture = array(1='img/pan.jpg', 2='img/choko.jpg' ); ?> ------------------------------------------- index.php <table border="1" height="188" width="461"> <tr> <td width="458" height="160"><img border="0" src="<?php echo $picture ;?>" width="190" height="157"> <font size="4" color="#FF00FF"><b><?php echo $kakaku ;?></b></font></td> </tr> </table> -------------------------------------------- この時に <tr> <td width="458" height="160"><img border="0" src="<?php echo $picture ;?>" width="190" height="157"> <font size="4" color="#FF00FF"><b><?php echo $kakaku ;?></b></font></td> </tr> の部分を変数の値の分だけ繰り返したい時、 <?php foreach($picture AS $key => $val) { ?> <? } ?> <?php foreach($kakaku AS $key => $val) { ?> <? } ?> はどう記述したらいいのですか?? 結果的には <table border="1" height="188" width="461"> <tr> <td width="458" height="160"><img border="0" src="img/pan.jpg" width="190" height="157"> <font size="4" color="#FF00FF"><b>300円</b></font></td> </tr>  <tr> <td width="458" height="160"><img border="0" src="img/choko.jpg" width="190" height="157"> <font size="4" color="#FF00FF"><b>500円</b></font></td> </tr> </table> というふうにしたいのです! よろしくお願いします。

    • ベストアンサー
    • PHP
  • テーブルのテーブルの間に間ができるのでしょうか?

    はじめまして、超html初心者のものです。 なぜ同じようテーブルを3つ書いているのに一番上のテーブルと真ん中のテーブルの間が開いてしまっているのかがわかりません。 あと、一番上のテーブルの-から先をもう少し左に寄せることもうまくいきません。 なにかアドバイスをよろしくお願いします。 ↓これがソースです。 <html> <head><title>test</title> </head> <form> <table border=1 cellspacing=0 cellpadding=2 width=760> <tr> <th width=95 height=30 align="right">日付け:</th> <td width=284> <input type="text"><input type="button"> </td> <td>&nbsp;-&nbsp;</td> <td><input type="text"><input type="button"></td> </tr> </table> <table border=1 cellspacing=0 cellpadding=2 width=760> <tr> <th width=95 height=30 align="right">部署:</th> <td width=100> <select name="busyo"></select> </td> <th width=80 align="right">営業所:</th> <td width=100> <select name="eigyousyo"></select> </td> <th width= 80 align="right">担当コード:</th> <td width=450> <select name="tantocode"></select> </td>   </tr> </table> <table border=1cellspacing=0cellpadding=2width=760> <tr> <th width=80 align="right">権限:</th> <td width=700> <select name="kengen"></select> </td> </tr> </table> </form> </html>

  • smartでのtable表示について

    ちょっとベタな書き方ですが下記のように、画像と名前のセットを表示して行く時に、 最後、余ったセルに{html_table}などを使って自動的に埋めて行く事は、出来ますでしょうか、 <table width="650" border="0" cellspacing="0" cellpadding="0"> {foreach from=$data item=data key=key name="loop"} {if $smarty.foreach.loop.iteration %5 ==1}<tr>{/if} <td> <table width="125" border="0" cellspacing="0" cellpadding="1"> <tr> <td><a href="{$data.id}.php"><img src="img/{$data.staff_file}" width="125" height="175" border="0"></a> </td></tr> <tr> <td>{$data.name} </td> </td></tr> </table> </td> {if $smarty.foreach.loop.iteration % 5 ==0}</tr>{/if} {/foreach} {if $smarty.foreach.loop.total % 5 ==4}<td> </td>{/if} {if $smarty.foreach.loop.total % 5 ==3}<td> </td><td> </td>{/if} {if $smarty.foreach.loop.total % 5 ==2}<td> </td><td> </td><td> </td>{/if} {if $smarty.foreach.loop.total % 5 ==1}<td> </td><td> </td><td> </td><td> </td>{/if} </table>

    • ベストアンサー
    • PHP
  • テーブル<TR></TR>の処理について

    次の様な処理を行いたいのですが方法をご教授下さい。 DBのテーブルに10個のレコードがあります。 すべてのレコードの情報を表示させます。 HTMLのテーブルは2列5行で表示させたい。 つまりHTMLで下記のように表示したい。 <TABLE> <TR> <TD>データ1</TD> <TD>データ2</TD> <TD>データ3</TD> <TD>データ4</TD> <TD>データ5</TD> </TR> <TR> <TD>データ6</TD> <TD>データ7</TD> <TD>データ8</TD> <TD>データ9</TD> <TD>データ10</TD> </TR> </TABLE> これをPHPで <? $con = mysql_connect("$dbhost", "$dbuser", "$dbpass"); mysql_select_db("$dbname"); $sql= "select * from DB_name"; $rs=mysql_query($sql); ?> <TABLE> <TR> <? while($row=mysql_fetch_array($rs)){ ?> <td><? echo $row['data'] ?></td> <?}?> </tr> </table> のように単純にデータを取り出すことは出来るのですが、 データを5つ毎に</TR><TR>を出す方法が分かりません。 このような処理は皆様はどのように行っていますか。 基本的な質問で申し訳ありませんが、ご教授下さい。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • テーブルが一行下がる・・・

    HTMLを作成していて、横一列に並べたいのに何故か一行下がってしまいます。 具体的には、 <TABLE width="50" border=1 align=left> <TBODY> <TR><TD noWrap align=middle>項目A</TD> <TR><TD noWrap align=middle Height=80><BR></TD></TR> </TBODY> </TABLE> <TABLE width="20" border=1 align=middle> <TBODY> <TR><TD noWrap align=middle>タイトル</TD></TR> </TBODY> </TABLE> <TABLE width="50" border=1 align=right> <TBODY> <TR><TD noWrap align=middle>項目B</TD></TR> <TR><TD noWrap align=middle Height=80><BR></TD></TR> </TBODY> というソースで、「項目A」→「タイトル」→「項目B」と横一線に並べたいのですが、何故か「項目B」が一行下がって表示されます・・・ HTMLを作るのは初めてで、色々と調べたのですがよく分かりませんでした・・・。 どなたか助けてください!! よろしくお願い致しますm(_ _)m

    • ベストアンサー
    • HTML
  • テーブルが横に長くなってしまう

    の困ってます width=100%を超えたら折り返してほしいのですが・・・ aaa...aaaが短いときにはいいのですが長いとテーブルが横に長くなります 範囲を超えたら自動的に折り返すようにできないのでしょうか? <table width="100%" border="1"> <tr><td align="center">contents</td></tr> aaa...aaa <tr><td align="left"> </td></tr> </table>

    • ベストアンサー
    • HTML
  • foreachの2重ループ

    PHPのSmartyで2重ループがうまくできません。 表をforeachで作成したいです。 縦、横のセル数は変数で可変にしたいため、$oneと$twoにはそれぞれ毎回違う値が入る予定です。 <table border="1"> {foreach from=$one item="one"} <tr> {foreach from=$two item="two"} <td> {$two} </td> {/foreach} </tr> {/foreach} </table> 上記のプログラムだと、内側のループが1回しか回りません。 foreachの2重ループの仕方が間違っているのでしょうか?

    • ベストアンサー
    • PHP
  • ラジオボタンでテーブルの背景色を変える

    いつもお世話になっています。 テーブルで数十行同じ項目を表示させるとき、今何行目を見ているかわかりやすいように 目印をつけたいと思っています。 ラジオボタンを配置したのですが、一行が横に長く、区別しにくいため 加えて選択されたラジオボタンと同じ行の背景色を変えようと思いました。 が、こういうことってできるのでしょうか? ラジオボタン選択でウィンドウの色を変える方法の応用かなと思って 色々試しましたが全て失敗でした(涙)。 どなたかご存知の方、教えてください。 ちなみにテーブルのイメージは大体こんな感じです↓ <p align=center> <TABLE frame=below rules=all WIDTH=98% vspace=100> <tr> <td width=7% align=right><input type="radio" name="count" value="1"></td> <td align=right width=8%>1234567</td> <td align=left width=18%>12345678901234567890</td> <td align=right width=8%>12</td> <td align=right width=8%>150</td> <td align=right width=8%>300</td> </tr> <tr> <td width=7% align=right><input type="radio" name="count" value="2"></td> <td align=right width=8%>1234567</td> <td align=left width=18%>12345678901234567890</td> <td align=right width=8%>12</td> <td align=right width=8%>150</td> <td align=right width=8%>300</td> </tr> <tr> <td width=7% align=right><input type="radio" name="count" value="3"></td> <td align=right width=8%>1234567</td> <td align=left width=18%>12345678901234567890</td> <td align=right width=8%>12</td> <td align=right width=8%>150</td> <td align=right width=8%>300</td> </tr> </table>

  • smartyのforeachの使い方?

    smartyについて教えてください。 mysqlのデータを繰り返し表示させたいのですが Warning: htmlspecialchars() expects parameter 1 to be string, array given in パス modifier.escape.php on line 26 とエラーが出てしまい動作しません。 foreachの使い方がおかしいのかと思いマニュアルをみてみたのですが わかりませんでした。 どうすれば繰り返し表示できるようになるでしょうか? ---php--- $i = 0; $list = array(); while ($col = mysql_fetch_array($res, MYSQL_ASSOC)) { $list[$i]['id'] = $col[id]; $list[$i]['title'] = $col[title]; $list[$i]['main'] = $col[main]; $i++; } $smarty->assign('list', $list); ---tpl--- {foreach item=list from=$list} <tr> <td>{$list.id}</td> <td>{$list.title}</td> <td>{$list.main}</td> <td><a href="hoge.php?id={$list.id}">a</a></td> <td><a href="hoges.php?id={$list.id}">a</a></td> </tr> {/foreach}

    • ベストアンサー
    • PHP
  • テーブルとテーブルの間に、隙間があいてしまいます。

    お世話になります。 表題のとおりです。 下記ソースのテーブル<!-- 丸枠 -->と<!-- ヘッダ -->間は、問題ないのですが テーブル<!-- ヘッダ -->と<!-- ロゴ -->の間に隙間が開いてしまいます。 1時間ほど考えましたが、どうにもこうにも理由が分かりません。 初心者的なソースで恐れ入りますが、詳しい方にご助力いただければ幸いです。 ---------------------------以下ソース-------------------------------------- <body> <!-- 背景白 --> <table border="1" cellpadding="0" cellspacing="0" class="table_white"> <tr> <td> <!-- 丸枠 --> <table width="820" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="image/head.gif" width="820" height="9" /></td> </tr> </table> <!-- 丸枠ここまで --> </td> </tr> <tr> <td align="center"> <!-- ヘッダ --> <table width="730" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="324" height="15" align="left" > <strong class="seo01">ミ</strong></td> <td width="203">&nbsp;</td> <td width="5" align="center"><img src="image/spacer_glay.gif" width="1" height="10" /></td> <td width="42"><a href="kaisya.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image4','','image/head_kaisya_ov.gif',1)"><img src="image/head_kaisya.gif" alt="会社概要" width="42" height="11" border="0" id="Image4" /></a></td> <td width="5"><img src="image/spacer_glay.gif" width="1" height="10" /></td> <td width="61"><a href="toiawase.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('問い合わせ','','image/head_toiawase_ov.gif',1)"><img src="image/head_toiawase.gif" alt="お問い合わせ" width="61" height="11" border="0" id="問い合わせ" /></a></td> <td width="5"><img src="image/spacer_glay.gif" width="1" height="10" /></td> <td width="62"><a href="sitemap.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('sitemap','','image/head_sitemap_ov.gif',1)"><img src="image/head_sitemap.gif" alt="sitemap" width="62" height="11" border="0" id="sitemap" /></a></td> <td width="5"><img src="image/spacer_glay.gif" width="1" height="10" /></td> </tr> </table> <!-- ヘッダ ここまで--> </td></tr> <tr> <td align="center"> <table width="730" border="0" cellspacing="0" cellpadding="0"> <!-- ロゴ --> <tr>     <td colspan="13" align="left"><a href="http://www.com/"><img src="image/logo.gif" alt="ミ" width="92" height="48" border="0" ></a></td> </tr> <!-- ロゴ ここまで --> ---------------------------ソースここまで-------------------------------------- ---------------------------念のため使用CSS-------------------------------------- body { font-family: "MS P明朝", "細明朝体", "ヒラギノ明朝 Pro W3"; font-size: 12pt; font-weight: normal; color: #5c5c5c; background-color: #889fb6; margin-left: 30px; margin-top: 30px; letter-spacing: 2.5px; line-height: 18px; } .table_white { background-color: #FFFFFF; width: 820px; } .seo01 { font-size: x-small; letter-spacing: normal; font-weight: normal; } ---------------------------ここまで--------------------------------------

    • ベストアンサー
    • HTML