*jquaryでxmlファイルの読み込み [#s2f255a8] RIGHT:更新日&lastmod(); ***データのxmlファイル(test3.xml) [#w84f145c] <?xml version="1.0" encoding="UTF-8"?> <readdata> <city name="桑名" lat="35.0569804313727" lng="136.682281494141"> <kamoku data=""> <byoumei name="インフルエンザ" kazu="319" /> </kamoku> <kamoku data="小児科"> <byoumei name="咽頭結膜熱" kazu="4" /> <byoumei name="A群容レン菌咽頭炎" kazu="7" /> <byoumei name="感染性胃腸炎" kazu="51" /> <byoumei name="水痘" kazu="9" /> </kamoku> <kamoku data="独自**"> <byoumei name="マイコプラズマ肺炎" kazu="0" /> <byoumei name="クラミジア肺炎" kazu="0" /> </kamoku> <kamoku data="眼科"> <byoumei name="急性出血性結膜炎" kazu="0" /> <byoumei name="流行性角膜炎" kazu="0" /> </kamoku> </city> <city name="四日市" lat="34.9579953108679" lng="136.6259765625"> <kamoku data=""> <byoumei name="インフルエンザ" kazu="301" /> </kamoku> <kamoku data="小児科"> <byoumei name="咽頭結膜熱" kazu="2" /> <byoumei name="A群容レン菌咽頭炎" kazu="6" /> <byoumei name="感染性胃腸炎" kazu="52" /> (略) (略) ***読み込みhtml [#g7b01c6a] $(document).ready(function(){の中でdocument.writeを使用するとエラーするので注意 デバッグはwindow.alertを使用する 要素が階層構造の時は$(this).find("kamoku").each(function(){などdataTypeにthisを指定する。 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/javascript" src="jquery-1.5.1.min.js"></script> </head> <body> <script type="text/javascript"> //以下のfunctionはページを読み込んだ後に実行 $(document).ready(function(){ $.ajax({ url: 'test3.xml', type: 'GET', dataType: 'xml', timeout: 1000, error: function(){ alert('xmlファイルの読み込みに失敗しました'); }, success: function(xml){ $(xml).find("city").each(function(){ city = $(this).attr("name"); lat = $(this).attr("lat"); lng = $(this).attr("lng"); window.alert("city: " + city + "(lat:" + lat + "lng:" + lng + ")") $(this).find("kamoku").each(function(){ kamoku = $(this).attr("data"); // window.alert("kamoku: " + kamoku); $(this).find("byoumei").each(function(){ var tmpbyoumei = $(this).attr("name"); var tmpkazu = $(this).attr("kazu"); // window.alert("byoumei:" + tmpbyoumei + "kazu:" + tmpkazu); }); }); }); } }); }); </script> ***2次元配列の宣言(データ数が既知の場合) [#o6e98ab3] kamoku = new Array(9); window.alert(kamoku.length); for ( i = 0 ; i < kamoku.length; i++){ kamoku[i] = new Array(5); } kamoku[1][2]として使用する。 ***PHPでPOST、GETした値の評価(セキュリティチェック) [#rb253faa] htmlspecialchars() を必ず通す |SQLite |sqlite_escape_string() | |PostgreSQL |pg_escape_string() | |MySQL |mysql_real_escape_string()(MySQL に接続した後で使う) | 値をキャストする $x = (int) $x; や $x = (float) $x;