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

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

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

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

Q&A

解決済

2回答

829閲覧

PHP,Laravel cssのfor文での設定に関しての質問です

tapioka28

総合スコア15

PHP

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

0グッド

0クリップ

投稿2020/02/11 08:02

PHP,Laravel cssのfor文での設定に関しての質問です

ユーザー情報をデータベースから参照してforeach文の中で当てはまる人の名前を色を変更したいのですが、当てはまる人が一人でもいるとすべてのユーザに適用されてしまいます。
for文の初めにcssをリセットするように記述してもユーザーごとでなくすべてに反映されてしまいます。
当てはまる人だけcssを適用させるやり方をご存知の方ご教授いただけますと幸いです。

@foreach ($users as $user)     <div class='user'> <div class='name'>{{ $user->name }} </div> @if($user->status == true) <style type="text/css"> .name{ color: #4ec4d3; </style> @endif </div> @endforeach

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

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

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

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

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

guest

回答2

0

ベストアンサー

php

1 2<style type="text/css"> 3.name.status { 4 color: #4ec4d3; 5} 6</style> 7 8@foreach ($users as $user) 9  <div class='user'> 10 <div class='name @if($user->status == true) status @endif'> 11 {{ $user->name }} 12 </div> 13 </div> 14@endforeach

投稿2020/02/11 08:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

tapioka28

2020/02/11 08:16

ありがとうございます!! 理想の動きをしてくれました!!
guest

0

既に解決されてますが、「今後同じようなことでつまずかないための」考え方を1つアドバイスとして残しておきます。

これはLaravelはおろかPHPの問題でもないですね。
実装の仕方から見直した方が同じような問題でつまずくことなくなると思います。

まずはPHPすら関係ないHTMLだけ先に作ってください。。
モック」というやつです。
そうすることで「どういうHTMLを出力すれば目指す形ができるか」が明確になり、
PHPで出力したHTMLとのチェックに利用できます。

参考まで。

投稿2020/02/11 09:13

m.ts10806

総合スコア80857

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

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

tapioka28

2020/02/11 09:23 編集

アドバイスありがとうございます。 それはHTML,CSSで静的な部分を完成させ、そのあとから動的な部分を足していくということであっていますでしょうか?
m.ts10806

2020/02/11 09:37

違います。 本来はデータベースから取得してきて複数行リストを出すような場合でも、固定データでレイアウトを先に組むということです。 リスト出力なのでモックでは10行のtrがあったとしても動的に入れ換えるとtrは1行になります。 結局ブラウザで解釈されるのは出力された10行のtrになるので、先にレイアウトをつくっておくことでズレが減らせると言うことになります。 まさに今回は「完成形のイメージができていないままいきなり動的に作った」ことで起きた問題なので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問