あなたのアドバイスが必要です。私はajaxとjqueryが初めてです。postgresql 9.1 /postGIS 2.0 /openlayers/geoserver と apache を使用しています。
javascript を使用して、マップ (openlayers) をクリックするとフィーチャの ID を取得できました。
ajax を使用して、この値を PHP 値に渡してクエリを実行しようとしています。Openlayers、jquery、javascript、および ajax は正常に動作しますが、php は値を取得しません。これが私のコードスニペットです。
//this is inside openlayers init function
function selected_feature(event){
//getting the id
var sf = event.feature.fid;
var sfs = sf.split(".");
var sff = sfs[1]
//ajax
$(document).ready(function()
{
$.post("map.php", { jas: 'sff'});
});
//the php code snippet, after openlayers
$_SESSION['blah'] = $_POST['jas'];
$blah= $_SESSION['blah'];
echo $blah;
$queryd='
SELECT
pins.p_name
FROM
pins
WHERE
pins.p_id='.$blah;
//fetching to fill array
$resultd=pg_query($conn, $queryd);
$nord=pg_num_rows($resultd);
$d=0;
while($arrayd=pg_fetch_array($resultd)){
$name[$d]=$arrayd['p_name'];
$d++;
echo $arrayd['p_name'];
echo $arrayd[$d];
}
問題は、php のエコーが機能せず、クエリがまったく機能しないことです。この質問は重複しているように聞こえますが、すべてのコードが同じファイル (map.php という名前) にあるため、異なると思います。さらに、背景には Web マッピングがいくつかあります。Web マッピング プログラムの 1 つが問題を引き起こしているかどうかさえわかりません。
お知らせ下さい
ありがとうございました。
EDIT ajax部分を編集しました。これに交換しました
jQuery.post("map.php", { jas : "sff" }, function(data) {
// alert(data);
});
...まだ運がない
編集#2
このチュートリアルに従って、コードを編集しました。だから今私は私のmap.phpにこのjqueryを持っています
jQuery.post("testone.php", { jas : sff }, function(data) {
alert(data);
});
そして、testone.php でこの php コード
<?php
$jas = $_POST['jas'];
print $jas;
?>
map.php は実際にデータを警告します。でも、もう一つ。データを PHP 値として map.php に戻す方法を教えてください。クエリを有効にすることもできますか? そこにあるほとんどのチュートリアルは、データを警告するか、<div>
. phpを使いたいです。何かのようなもの
jQuery.post("testone.php", { jas : sff }, function(data) {
//put returned data in a php var
});