アプリ版:「スタンプのみでお礼する」機能のリリースについて

HTMLのテーブルにデータを入れたいのですが、
6列ごとに改行の<tr></tr>を入れる方法が分かりません。
下のように並べたいです
[ITEMNAME][ITEMNAME][ITEMNAME][ITEMNAME][ITEMNAME][ITEMNAME]
[ITEMNAME][ITEMNAME][ITEMNAME][ITEMNAME][ITEMNAME][ITEMNAME]
データは1~12個きますので、一行の時と二行にわたる時、<td></td>に何もデータが入らない時もあります。
今現在このような感じです。
<table width="600">
<tr>
<?php foreach ($item_array as $item){ ?>
<td width="100" align="center">
<?=$str = mb_strimwidth($item['ITEMNAME'], 0, 100, "...");?>
</td>
<?php } ?>
</tr>
</table>

どうか宜しくお願い致します。

既に他で同じ内容が出ていますが、そちらでは理解して応用できませんでしたので改めて質問させて頂きました。ごめんなさい。

A 回答 (2件)

こんなかんじでどうでしょ?


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></td>";
if($count==($maxcol -1)) print "</tr>";
$count++;
}
?>
</tbody>
</table>

この回答への補足

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

補足日時:2009/04/08 16:03
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/04/12 23:10

>テーブルに入るデータなのですが、ITEMNAMEの値が入って欲しいのですが



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

この回答への補足

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

補足日時:2009/04/12 23:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!