質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
TableView

TableView(UITableView)とは、リスト形式で表示するコントロールで、ほとんどのアプリに使用されています。画面を「行」に分けて管理し、一般的には各行をタップした際に詳細画面に移動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

解決済

PHP のforeachで tableを作成において、被り項目をまとめる方法

kakashi55
kakashi55

総合スコア25

TableView

TableView(UITableView)とは、リスト形式で表示するコントロールで、ほとんどのアプリに使用されています。画面を「行」に分けて管理し、一般的には各行をタップした際に詳細画面に移動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

2回答

0評価

0クリップ

309閲覧

投稿2022/06/02 06:46

編集2022/06/09 22:04

PHPのforeach文でtableの作成をしております。
以下図のように被り項目(Red,Green) をまとめる表を作りたいと考えております。
作り方をご教授いただけないでしょうか。

イメージ説明

現在以下でスタックしております。

PHP

<!-- カラーの被りをなくす --> <?php foreach ($lists as $list) : ?> <?php $colors[] = $list->getColor(); ?> <?php endforeach; ?> <?php $colors1 = array_merge(array_unique($$colors)); ?> <table> <tr> <th>Color</th> <th>Things</th> <th>Place</th> </tr> <?php foreach ($color1 as $co) : ?> <tr> <td><?php echo $co; ?></td> <!--カラーの表示--> <td> <?php foreach ($lists as $list): ?>. <!-- listsは上記図のようなリストを作っています--> <?php if ("$co" == $list->getColor()): ?> <li><?php echo $list->getThings; ?></li> <!--Thingsの表示--> <?php endif; ?> <?php endforeach; ?> </td> <td> <?php foreach ($lists as $list): ?> <?php if ("$co" == $list->getColor()): ?> <li><?php echo $list->getPlace(); ?></li><!--Placeの表示--> <?php endif; ?> <?php endforeach; ?> </td> </tr> <?php endforeach; ?> </table>

URLリンクを配列に追加

$data = [ ["color" => "red", "things" => "りんご", "place" => "青森", "url" => "https://www.yahoo.co.jp/"], ["color" => "red", "things" => "信号", "place" => "東京", "url" => "https://www.youtube.com/"], ["color" => "red", "things" => "太陽", "place" => "テキサス", "url" => "https://ja.wikipedia.org/wiki/"], ["color" => "green", "things" => "山", "place" => "山形", "url" => "https://www.amazon.co.jp/"], ["color" => "green", "things" => "森", "place" => "静岡", "url" => "https://www.dazn.com/"], ]; $result = array_reduce(array_unique(array_map(function ($x) { return $x["color"]; }, $data)), function ($x, $y) use ($data) { $x[$y] = array_map(function ($x) { unset($x["color"]); return $x; }, array_values(array_filter($data, function ($x) use ($y) { return $x["color"] == $y; }))); return $x; }, []); print_r($result); print "<table border>\n"; print "<thead>\n<tr><th>color</th><th>things</th><th>place</th></tr>\n</thead>\n"; print "<tbody>\n"; foreach ($result as $color => $vals) { print "<tr>"; print "<td rowspan=\"" . count($vals) . "\">$color</td>"; foreach ($vals as $key => $val) { if ($key > 0) { print "</tr>\n<tr>"; } print "<td>${val["things"]}</td>"; print "<td>${val["place"]}</td>"; } print "</tr>\n"; } print "</tbody>\n"; print "</table>\n";

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

tanat

2022/06/02 06:54

静的なHTMLでの質問に記載の表の記述方法(rowspan属性の使い方)については理解されていますか?
m.ts10806

2022/06/02 07:02

このコードだけでは何とも言えませんね。 テーブル定義はどうなってるのでしょう。 データ取得部分はどうなってるのでしょう。 全部取得してから加工するより「そういう形のデータ」を取得してから 表示するだけの方が良いような。
kakashi55

2022/06/02 07:09

>tanat 早急なコメントありがとうございます。 rowspan属性についても考えました。 表の状況によってrowspanを可変する方法がありましたら教えていただけないでしょうか。
kakashi55

2022/06/02 07:10

>m.ts10806 早急なコメントありがとうございます。 「そういう形のデータ」というのはどういったイメージでしょうか? お知恵をいただけないでしょうか?

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

TableView

TableView(UITableView)とは、リスト形式で表示するコントロールで、ほとんどのアプリに使用されています。画面を「行」に分けて管理し、一般的には各行をタップした際に詳細画面に移動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。