1

phpに投稿してoraclevarchar2に格納するjavascriptの配列があります。この配列をphpでフェッチする方法を知りたいです。今のところ、私は常にoracleの配列の代わりに文字列[objectObject]を持っています。JQuery $ .postを使用して、次のように変数をphpに送信します。

function savePolygons(){
    $.get('oracle_deletePolygons.php');
    for (var i = 0; i < createdShapes.length; i++){
        var nom_zone  = escape(document.getElementById('nom_zone_' + createdShapes[i].id).value);
        var couleur = escape(createdShapes[i].fillColor);
        var code_cs = escape('711');
        var shapeid_export = escape(createdShapes[i].id);
        var geometry = createdShapes[i].getPath();
        alert(geometry)
        var url1 = "oracle_savePolygons.php?nom_zone=" + nom_zone + "&couleur=" + couleur + "&code_cs=" + code_cs + "&shapeid_export=" + shapeid_export + "&geometry=" + geometry;
        $.get(url1);
    }
}

PHPで:

<?php
require("oracle_dbinfo.php");
sleep(5);
$nom_zone =$_GET['nom_zone'];
$shapeid_export = $_GET['shapeid_export'];
$code_cs = $_GET['code_cs'];
$couleur = $_GET['couleur'];
$geometry = $_GET['geometry'];

$conn = oci_connect($username, $password, $database);
$query = oci_parse($conn, 'INSERT INTO test1 (nom_zone, shapeid, code_cs, couleur, geometry) VALUES (:nom_zone, :shapeid_export, :code_cs, :couleur, :geometry)');

oci_bind_by_name($query, ":nom_zone", $nom_zone);
oci_bind_by_name($query, ":shapeid_export", $shapeid_export);
oci_bind_by_name($query, ":code_cs", $code_cs);
oci_bind_by_name($query, ":couleur", $couleur);
oci_bind_by_name($query, ":geometry", $geometry);

oci_execute($query);
oci_commit($conn);
?>

varジオメトリは、ポリゴンの各頂点の座標の配列です。

4

1 に答える 1

1

URLにデータを投稿しない場合は、$。get()を使用してください。

$.get('oracle_deletePolygons.php');

jQuery.get()を参照してください

また、クエリ文字列を送信するだけなので、これは$ .get()を使用している可能性が高いことに注意してください。

var url1 = "oracle_savePolygons.php?nom_zone=" + nom_zone + "&couleur=" + couleur + "&code_cs=" + code_cs + "&shapeid_export=" + shapeid_export + "&geometry=" + geometry;
$.post(url1);

代わりにこれを試してください:

var url1 = "oracle_savePolygons.php?nom_zone=" + nom_zone + "&couleur=" + couleur + "&code_cs=" + code_cs + "&shapeid_export=" + shapeid_export + "&geometry=" + geometry;
$.get(url1);

$ .get()を使用してデータを投稿する例:

$.get('oracle_savePolygons.php', {
    'num_zone' : nom_zone,
    'couleur' : couleur,
    'code_cs' : code_cs,
    'shapeid_export' : shapeid_export,
    'geometry' : geometry
}, function (data) {
  //Success callback if you need it
});
于 2012-12-20T21:20:47.413 に答える