Json | memo-memo Skip to content

memo-memo

web制作に便利そうな情報をメモるブログ

Archive

Tag: json

ブラウザで条件を指定して、その条件に合うデータだけを、SQLiteで取得して、表示する方法。

いくつかの以前書いた記事を組み合わせれば、完成です。

html


<select id=”color“>
<option value=”red”>赤</option>
<option value=”orange”>オレンジ</option>
</select>

<select id=”image“>
<option value=”beautiful”>きれい</option>
<option value=”pretty”>かわいい</option>
<option value=”cool”>かっこいい</option>
</select>


次に、javascript

js


var params ={
color” : $(“#color“).val(),
image” : $(“#image“).val()
};
$.getJSON(“hoge.php”, params ,function(json){
alert(json);
});


次にphp


<?php

$params = array(
color‘ => $_GET['color'],
image‘ => $_GET['image']
);
$dbs = “hoge.db”; //接続先
$user = “”;
$pass = “”;
$dbh = new PDO($dbs,$user,$pass);//DBへの接続
$sql = <<< SQL
SELECT *
FROM site
WHERE color=’$params[color]‘ and image=’$params[image]‘
SQL;

$stmt = $dbh->query($sql);//SQLの実行
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);//データの取得(意味は考えず丸暗記する。)

//結果をJSON形式で出力
print(json_encode($result));

?>


まずは、htmlのselectタグの中の、valueの値を、javascript(jQuery使用)で取得し、配列paramsに連想配列で格納します。で、そのパラメータをphpにGETで送ります。

次にphpは、送られてきたGETのデータで、パラメータを作ります。

この辺は、http://blog.jokerstyle.org/archives/10を参考。

次に、SQLiteに接続する時に、WHEREで、値を指定する。

この辺は、http://blog.jokerstyle.org/archives/145を参考。

取得したデータを、json_encodeしてprintすればOK。

この取得したデータは、元をたどれば、htmlのselectタグの中の、optionのvalueの値が条件となったデータになる。

うーん、文章にすると表現が難しい。後で読んだ時、解るかな?

xmlを、jsonに変換してくれるサービスらしい。
ここに詳しい説明が書いてある。http://ascii.jp/elem/000/000/438/438132/

以前、gourmapの時に使った、xml2jsonみたいな感じかと思われる。

yahoo Pipes

いつか、実験してみよう。