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

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

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

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1129閲覧

JavaScriptでphpのデータベースの値を検索

ohayou

総合スコア18

PHP

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/12/24 20:29

phpで登録した値をjavascriptにもってきて、javascript側であるカラムの値について条件分岐する。ということをやりたいです。

現在値をjavascript側に持ってくることはできています。

html

1<!DOCTYPE html> 2<html> 3 4<script type="text/javascript"> 5var map = L.map('map'); 6L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', { 7 attribution: "<a href='https://maps.gsi.go.jp/development/ichiran.html' target='_blank'>地理院タイル</a>" 8}).addTo(map); 9 10</script> 11 12<?php 13//mysql接続 14$pdo = new PDO($dsn, $user, $password); 15//配列に入れる 16$sql = 'SELECT * FROM latlng'; 17$result = $pdo->query($sql); 18foreach($result as $row){ 19 $latitudes[]=$row['ido']; 20 $longitudes[]=$row['keido']; 21 $comments[]=$row['comment']; 22 $cates[]=$row['cate']; 23} 24$phpjson=json_encode($latitudes); 25$phpjson2=json_encode($longitudes); 26$phpjson3=json_encode($comments); 27$phpjson4=json_encode($cates); 28 29?> 30<script type="text/javascript"> 31 32var test=JSON.parse('<?php echo $phpjson; ?>'); 33var test2=JSON.parse('<?php echo $phpjson2; ?>'); 34var test3=JSON.parse('<?php echo $phpjson3; ?>'); 35var test4=JSON.parse('<?php echo $phpjson4; ?>'); 36 37var ki = L.icon({ 38 iconUrl:'', 39}) 40 41for(var i=0;i<test.length;i++){ 42 var latlng = [lat, lng]; 43 var com=test3[i]; 44 var data=[{"lat":test[i],"lng":test2[i], "com":test3[i], "cate":test4[i]}]; 45 46//データベースのcateというカラムの値が「ki」だった場合以下の処理がおこなわれる 47 48if(cate=="ki"){ 49 var marker=new L.Marker(new L.latLng(latlng), {com:com}); 50 marker.bindPopup("<a href='#'><script>document.write(com); </script></a>"); 51 searchLayer.addLayer(marker); 52} 53 54</script> 55 56</html>

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

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

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

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

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

m.ts10806

2018/12/24 22:23

前の質問に書いたajaxについては何かしら調べたり試されたりしたのでしょうか。 1ファイルに混在するのはよくありませんし、phpの情報をほぼそのまま使っているのはセキュリティ上のリスクが高いです。 変数名もマジックナンバーや意味を持たせないものを使っていて不具合やケアレスミスの温床となっています。(前の質問はまさにそこ) 一度構成を見直された方が確実に進むと思います。
ohayou

2018/12/26 02:54

返信遅れてすみません。 昨日は朝しか時間がなかったため連続して質問させていただきました。 一度構成を見直したいと思います。アドバイスありがとうございました!
guest

回答2

0

ベストアンサー

以下の記述で判定できると思います。

php

1var data={"lat":test[i],"lng":test2[i], "com":test3[i], "cate":test4[i]}; 2 3//データベースのcateというカラムの値が「ki」だった場合以下の処理がおこなわれる 4 5if(data["cate"]=="ki"){

投稿2018/12/24 22:28

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

どの点でつまづいているのでしょうか?

投稿2018/12/24 20:47

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ohayou

2018/12/24 21:17

if(cate==ki){ というところです。 別フォームからデータベースに登録した「ki」という値のとりだし方が分かりません。 kiという値があるときに特別に指定したアイコンでマーカーが表示されるようにしたいです。
退会済みユーザー

退会済みユーザー

2018/12/24 21:23

配列変数dataに格納したcateという値を取り出し、文字列"ki"と合致しているかどうかで条件分岐させたい という意味でしょうか?
ohayou

2018/12/24 21:47

そうです!
m.ts10806

2018/12/24 22:24

この内容は回答ではないので回答欄ではなく「質問への追記・修正の依頼」の方に書くべきです。
退会済みユーザー

退会済みユーザー

2018/12/24 22:26

すみません、以後気をつけます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問