Javascript和MYSQL之间的通信

时间:2012-11-26 00:51:39

标签: php javascript mysql xml

我正在使用Google Maps API处理一些代码。总而言之,我有MySQL数据库,其中包含用于在地图上生成标记的信息表。我连接到数据库,并使用PHP绘制必要的属性,并使用XML与我的Javascript代码进行通信。

我目前正在尝试做的是转向另一个方向,我正在尝试从我的Javascript代码向MySQL发送一串信息(例如“1,2,3,45,18”)被设置为会话参数(称为@sparam)。将此值传递给MySQL的过程是什么?

我是否可以通过PHP访问MySQL变量,就像我可以访问表一样(为了将值返回到Javascript中)?

我很感激任何见解。

感谢。

修改

也许我在原帖中不清楚。我问的是我如何能够将字符串传递给MySQL会话变量,特别是一组与MySQL数据库表中的ID直接相关的ID,然后通过调用来处理这些ID MySQL中的必要程序。反过来,在MySQL中调用的过程会生成一些输出,然后必须将其传递回Javascript代码。

1 个答案:

答案 0 :(得分:2)

我创建了一个特殊的JSON( JavaScript Object Notation )php页面,我可以通过javascript调用它。然后我会解析那些JSON响应。

简单示例:

<强> JAVASCRIPT:

function getCheckedUnits() {
    jQuery(function($) {    
        $.ajax( {           
            url : "page_json.php?action=getsession",
            type : "GET",
            success : function(data) {
                //Get Json and loop over it's data
                if (data.length>10){
                    var jsonData = JSON.parse(data);

                    $.each(jsonData, function(Idx, Value) { 
                        if  (Idx>0){
                            //get values for each vehicle and then remove it's marker from the map and then add new marker on the map (thereofore update the marker)
                            c_latitude = Value["lat"];
                            c_longitude = Value["lon"];
                            c_name = Value["name"];
                            c_notes= Value["notes"];
                            removeMarker(c_name); //remove old marker function
                            addMarker(c_latitude, c_longitude, c_name); //add current marker function
                        }
                    });
                }
            }
        });
    });
}

PHP:这里我遍历我的arrayList,然后用值创建一个简单的数组。然后我将其输出为json字符串

    foreach ($listOfCars->arrayList as $key => $value) {

        $unit = new fleetUnit();
        $unit = $value;
        //create array for json output
        $data[] = array('lat' => $unit->lat,
            'lon' => $unit->lon, 'name' => $unit->name, 'notes' => $unit->notes);
    }

    echo json_encode($data);