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

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

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

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

HTML

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

Q&A

解決済

2回答

619閲覧

PHPで表示されるコンテンツにタイトルをつけたい

perican143

総合スコア15

PHP

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

HTML

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

0グッド

0クリップ

投稿2018/12/10 03:32

データに該当した場合、カテゴリーが出るようにPHPを組んでいます。
※該当ない場合は該当なしと出てくるようにしています。

カテゴリーの上に以下のジャンルから選んでくださいとタイトルをつけたいのですが、
PHP初心者のため、どのように差し込めばいいかわかりません。
できたら該当なしと同じような文字サイズで出現させたいので<P>タグを使うのが
理想です。
ちなみにトライしましたが、うまく表示できませんでした。

html

1<?php for($s=1; $s<=6; $s++){ //s-1?> 2 3 <div class="sportsMenuSection sportsMenu_area2state<?php echo $s+1;?>" style="display: none;"> 4 <?php if(!empty($pageData->thing_info_list[$s]->thing_business)) { ?> 5 <?php 6 $arr_count = count($pageData->thing_info_list[$s]->thing_business->thing_business_code); 7 for($t=0; $t<$arr_count; $t++){ 8 ?> 9 <a href="/thing/index.php?state=<?php echo $s+1;?>&business=<?php echo $pageData->thing_info_list[$s]->thing_business->thing_business_code[$t];?>"><?php echo $pageData->thing_info_list[$s]->thing_business->thing_business_name[$t];?></a> 10 <?php 11 } 12 ?> 13 <?php } else {?> 14 <p>該当なし</p> 15 <?php }?> 16 </div> 17<?php } ?>

ご教授お願いします。
よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/12/10 03:44

最終的に望むHTMLを提示されてはいかがでしょう。
m.ts10806

2018/12/10 03:54

何かしらのフレームワークをご利用でしょうか。既存のものでしたらそのフレームワークの名称とバージョンをご提示ください。そうでないのでしたらそのフレームワークの仕様によるので回答は得られにくい場合もあります(特に現場運用のものの場合)
perican143

2018/12/10 04:46

<div class="maptitle"><p>2.以下のカテゴリから選択してください。</p></div>
perican143

2018/12/10 04:47

上記のHTMLをカテゴリーとともに出現できるようにしたいです。(タイトルとして)
m.ts10806

2018/12/10 04:52

要は$pageDataの中身・仕様が分からないと答えようがないという意味ですけどね・・。var_dump()で中身見てご自身でなんとかやってみるしかないかと。
kei344

2018/12/10 06:37

「カテゴリーとともに出現」を含めたHTMLを提示されてはいかがでしょう。
guest

回答2

0

ベストアンサー

display:noneを指定しているのでデータがある場合も表示されないような気がしますね。。
配列の中身がちゃんと入っているのであれば以下のような感じでいけませんか?

PHP

1<? for ( $s=1; $s<=6; $s++ ) : ?> 2 <!-- データがあれば表示 --> 3 <? if ( !empty($pageData->thing_info_list[$s]->thing_business) ) : ?> 4 <div class="sportsMenuSection sportsMenu_area2state<?= $s+1 ?>"> 5 <p>以下のジャンルから選んでください</p> 6 <? for ( $t=0; $t<count($pageData->thing_info_list[$s]->thing_business->thing_business_code); $t++ ) : ?> 7 <a href="/thing/index.php?state=<?= $s+1 ?>&business=<?= $pageData->thing_info_list[$s]->thing_business->thing_business_code[$t] ?>"><?= $pageData->thing_info_list[$s]->thing_business->thing_business_name[$t] ?></a> 8 <? endfor; ?> 9 </div> 10 <? else : ?> 11 <div class="sportsMenuSection sportsMenu_area2state<?= $s+1 ?>" style="display: none;"> 12 <p>該当なし</p> 13 </div> 14 <? endif; ?> 15<? endfor; ?>

元ソースだとこんな感じ??

PHP

1<?php for($s=1; $s<=6; $s++){ //s-1?> 2 <!-- データがあれば表示 --> 3 <?php if(!empty($pageData->thing_info_list[$s]->thing_business)) { ?> 4 <div class="sportsMenuSection sportsMenu_area2state<?php echo $s+1;?>"> 5 <p>以下のジャンルから選んでください</p> 6 <?php 7 $arr_count = count($pageData->thing_info_list[$s]->thing_business->thing_business_code); 8 for($t=0; $t<$arr_count; $t++){ 9 ?> 10 <a href="/thing/index.php?state=<?php echo $s+1;?>&business=<?php echo $pageData->thing_info_list[$s]->thing_business->thing_business_code[$t];?>"><?php echo $pageData->thing_info_list[$s]->thing_business->thing_business_name[$t];?></a> 11 <?php 12 } 13 ?> 14 </div> 15 <?php } else {?> 16 <div class="sportsMenuSection sportsMenu_area2state<?php echo $s+1;?>" style="display: none;"> 17 <p>該当なし</p> 18 </div> 19 <?php }?> 20<?php } ?>

投稿2018/12/10 06:41

mayoi_maimai

総合スコア1583

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

perican143

2018/12/10 07:04

ありがとうございます!無事できました!
guest

0

提示いただいたコードの一行目に、以下を追加すればよい気がします。

HTML

1<p>以下のジャンルから選んでください</p>

投稿2018/12/10 04:27

take_3306

総合スコア242

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

perican143

2018/12/10 04:49

ありがとうございます。試してみましたが、以下のジャンルから選んでくださいがたくさん羅列されてしまいました。 目標としては、タイトルとしてPHPでマッチしたジャンルの上に出てくるようにしたいです。
take_3306

2018/12/10 05:00

繰り返し表示されるということはfor文の中に書いているということですね。 質問内容の1行目でforが始まっているため、その上に書いてください(for文の外という意味です) もしそれをやっても繰り返し表示されるようであれば、 質問内容のコードに提示されていないループ処理が、別であることになりますので その点含め提示してもらえるとアドバイスできるかと思います。
perican143

2018/12/10 05:59

ありがとうございます。 一番上に書いたのですが、求めている表示はされませんでした。 このカテゴリーがCMSに登録されたデータを一致した場合に、表示されるようになっています。ですので、基本はdisplay:noneを指定しております。 このカテゴリーが表示されるときに一緒にタイトルが出てきてほしいと思っています。 お手数おかけしますがよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問