PHPとJavaScriptはどこで実行されるか知っていますか?
知っていると知っていないとでは、対応能力が大きく変わってきます。
図で表しました。

こんな感じです。
PHPはサーバーで実行され、JavaScriptはブラウザで実行されます。
これを理解できていれば、jsコードの中でPHPを記述することが可能です。
サーバーが実行するPHPコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script>
alert('<?php echo 7 % 2; ?>');
</script>
</head>
<body>
</body>
</html>6~8行目がjsのコードですが、7行目でPHPを記述しています。
上記では、7÷2の余りをPHPで計算しています。こんなコードは実際は必要ありませんが簡単な例で説明しました。
おわかりかと思いますが、サーバーでPHPが実行されますので、サーバーからブラウザに渡されるコードは以下となります。
サーバーがブラウザに送信するコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script>
alert('1');
</script>
</head>
<body>
</body>
</html>これを理解できていると、データベースの値を利用してjsのコードが書けるということです。
※注意点として、PHPが実行できるファイルの中に記述する必要があります(上記例でもPHPファイルの中にjsを記述しています。)
では、jsの外部ファイルでPHPから値をもらいたい場合はどうするのでしょうか?
js(jquery)の外部ファイルで、PHPから値をもらいたい場合
PHP
<script>
var aaa = <?php echo 7 % 2; ?>;
</script>
<script src="js/sample.js"></script>※2つスクリプトを並べています。最初のスクリプトでグローバル変数に値を入れます。値を参照したいのは次のスクリプト(sample.js)です。
sample.js
alert(aaa);※後に読み込まれた外部ファイルでグローバル変数の値を使用します。
PHPファイルの実行結果

ちなみに、WordPressでは、「wp_localize_script」という関数があり、PHPからjsファイルに値を渡すことができます。



コメントを残す