無知な素人がphp+javascriptに挑んでハマった

2019年11月19日 CEO 0 Comments

やりたかったこと

phpでループ処理内にて条件に対してテキストの表示を変更する。

漠然と、

表示を変更するんだからjavascriptを使うのかな?
javascriptでinvisibleあたりかな?と思い、

-javascriptで文字色の変更-

https://www.pazru.net/js/DOM/4.html

これではダメです。ループ処理内なので、idを何度も使ってはいけません。

ではclassにすればいいのかな?

クラス名を指定して背景を変更

https://javascript.programmer-reference.com/js-css-class-color/

javascript内でphp変数を使うには

https://urashita.com/archives/17619#PHPJavaScript

ついでにjavascriptで変数の宣言

-結論-

単純にif文使って、

条件に合えば文字を出力。それ以外はfont colorを指定する。

に収まりました。なんて簡単・・javascript必要なかった。。

以下table内にて、

<td>
<?php
if($flag!=0){print $output;
}
else{
?>
<font color="gray">
<?php
print $output;
} ?>
</font>
</td>

一応メモ程度に、こんなことがあったよ。

最初はコレをphpループ処理内に埋め込もうと思ってたんだよね。。

-ver.class-

<script>
var judge = ‘<?php $flag; ?>’;
if(judge != 0 ){
var change = document.getElementsByClassName(“judge”);
for(i=0;i<change.length;i++){change[i].style.color=”white”;}
}
</script>

-ver.id-

<script>
var judge = ‘<?php $flag; ?>’;
if(judge == 0 ){
var change = document.getElementById(“judge”);
change.style.color=”white”;
}
</script>

ボタンを押したら、色を変換する。なら利用できるかと思います。