
前提・実現したいこと
お世話になっております。
今回、以下の配列をその下にあるテーブルのように表示したく思っています。
php
1$data = array ( 2 0 => array ( 3 'no' => '89', 4 'title' => 'SAMPLE', 5 'status' => '保留', 6 'update' => '1900-01-01', 7 'importance' => '小', 8 'kind' => '11', 9 'group' => '3', 10 'flag' => '0', 11 ), 12 1 => array ( 13 'no' => '91', 14 'title' => 'hogehoge', 15 'status' => '開示', 16 'update' => '1900-01-01', 17 'importance' => '中', 18 'kind' => '13', 19 'group' => '3', 20 'flag' => '1', 21 ), 22 2 => array ( 23 'no' => '90', 24 'title' => 'テストタイトル', 25 'status' => '修正', 26 'update' => '1900-01-01', 27 'importance' => '大', 28 'kind' => '12', 29 'group' => '3', 30 'flag' => '0', 31 ), 32 3 => array ( 33 'no' => '92', 34 'title' => 'hogehoge', 35 'status' => '修正', 36 'update' => '1900-01-01', 37 'importance' => '小', 38 'kind' => '14', 39 'group' => '3', 40 'flag' => '1', 41 ), 42 4 => array ( 43 'no' => '93', 44 'title' => 'テストタイトル', 45 'status' => '開示', 46 'update' => '1900-01-01', 47 'importance' => '大', 48 'kind' => '15', 49 'group' => '3', 50 'flag' => '1', 51 ), 52 5 => array ( 53 'no' => '94', 54 'title' => 'SAMPLE', 55 'status' => '開示', 56 'update' => '1900-01-01', 57 'importance' => '小', 58 'kind' => '16', 59 'group' => '3', 60 'flag' => '1', 61 ), 62 6 => array ( 63 'no' => '95', 64 'title' => 'SAMPLE', 65 'status' => '保留', 66 'update' => '1900-01-01', 67 'importance' => '中', 68 'kind' => '17', 69 'group' => '3', 70 'flag' => '1', 71 ), 72 7 => array ( 73 'no' => NULL, 74 'title' => 'hogehoge', 75 'status' => '開示', 76 'update' => '1900-01-01', 77 'importance' => '中', 78 'kind' => '18', 79 'group' => '3', 80 'flag' => '1', 81 ) 82, )
■hogehoge
|no|title|status|update|importance|kind|group|flag|
|:--|:--:|--:|
|91|hogehoge|開示|1900-01-01|中|13|3|●|
|92|hogehoge|修正|1900-01-01|小|14|3|●|
||hogehoge|開示|1900-01-01|中|18|3|●|
■SAMPLE
|no|title|status|update|importance|kind|group|flag|
|:--|:--:|--:|
|89|SAMPLE|保留|1900-01-01|小|11|3||
|94|SAMPLE|開示|1900-01-01|小|16|3|●|
|95|SAMPLE|保留|1900-01-01|中|17|3|●|
■テストタイトル
|no|title|status|update|importance|kind|group|flag|
|:--|:--:|--:|
|90|テストタイトル|修正|1900-01-01|大|12|3||
|99|テストタイトル|開示|1900-01-01|大|15|3|●|
グループ化しないと実現できないとは思っているのですが、
テーブルが1つずつ羅列されるだけになってしまいます。
どのような方法がありますでしょうか。
解決策を与えていただけますと助かります。
試したこと
ひとまず途中まで記載したソースがこちらです。
php
1<?php foreach ($data as $list):?> 2<p>■<?=$list['title']?> 3<table border="2" cellpadding="2" cellspacing="0"> 4<?= $html_column1 ?>// ここは各カラム名が入っています 5 <?php if($list['status'] == "保留"):?>// ここは列の色を指定するための記述です(今回は関係なし) 6 <?php $color='#CCCCCC';?> 7 <?php elseif($list['status'] == "修正"):?> 8 <?php $color='#FFFF99';?> 9 <?php endif;?> 10 <tr bgcolor=<?=$color?>> 11 <td align="right" class="Bold1" width="40"> 12 <?=$list['no']?> 13 </td> 14 <td align="left" nowrap class="Bold1" width="400"> 15 <?=$list['title']?> 16 </td> 17 <td align="center" class="Bold1" width="100"> 18 <?=$list['status']?> 19 </td> 20 <td align="center" class="Bold1" width="100"> 21 <?=$list['Update']?> 22 </td> 23 <td align="center" class="Bold1" width="50"> 24 <?=$list['importance']?> 25 </td> 26 <td align="center" class="Bold1" width="50"> 27 <?=$list['kind']?> 28 </td> 29 <td align="center" class="Bold1" width="50"> 30 <?=$list['group']?> 31 </td> 32 <td><?php if ($list["flag"] == 1) { echo "●"; } else { echo ""; }?></td> 33 </tr> 34</table> 35<?php endforeach;?>
テーブル構造は以下の通りです。
SQL
1CREATE TABLE Test( 2no int(11) unsigned auto_increment, 3title varchar(200), 4status tinyint(4) DEFAULT 0, 5update date, 6importance tinyint(4) unsigned DEFAULT 0, 7kind tinyint(3) unsigned, 8group tinyint(4), 9flag tinyint(4), 10primary key (no) 11);
https://qiita.com/suin/items/c524cf84368332db426b
こちらを参考にグループ化することを考えましたが、
グループ化した後にどう記述すればいいか見当がつきませんでした。。


回答4件
あなたの回答
tips
プレビュー