我想使用单个变量将多个数据发送到数据库(使用JS,PHP和AJAX)

时间:2010-12-17 02:40:26

标签: php javascript mysql ajax

我不知道编程的正确术语或术语,所以如果这个问题不清楚,请原谅我。如果这里有更清楚的是我到目前为止编写的代码。我将在代码后更详细地解释这个问题:

我使用此代码从Facebook检索数据:

function rsvpEvent() {
    FB.api('/me/events/', function(response) {
        for (var i=0; i<=2; i++) {
            eventname=response.data[i].name;
            eventid=response.data[i].id;
            eventstatus=response.data[i].rsvp_status;
            eventInfo(eventname,eventid,eventstatus);
            strEvent=strEvent + "You are " + 
                eventstatus + " " + eventname + ", EID: " + eventid + "<br/>";
        }

        document.getElementById('rsvpEvent').style.display = "block";
        document.getElementById('rsvpEvent').innerHTML = strEvent;
    });
}

请求PHP文件(包含mySQL调用):

function eventInfo(eventname,eventid,eventstatus) {             
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }

    else {
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById("eventInfo").innerHTML=xmlhttp.responseText;
        }
    }

    xmlhttp.open("GET","event_info.php?eventName=" + eventname + "&eid=" + eventid +  
        "&rsvp_status=" + eventstatus,true);
    xmlhttp.send();
}

所以,问题是我需要存储各个事件名称,ID和状态以及现在的代码。我可以单独将它们输出到页面,但不能单独将它们发送到PHP文件。我该怎么做(假设有可能)?

2 个答案:

答案 0 :(得分:1)

使用jQuery为你的php脚本调用ajax。

$.post('/somefile.php', myJSobjectOrArr, function(data) {

// return something from your script to say it succeeded or not...
        console.log(data);

}

在你的php脚本中,只需检查你的$ _POST变量和serialize()或json_encode()它并将其弹出到你的数据库中。

要将数据恢复为unserialize()或json_decode()它。

答案 1 :(得分:1)

您可以使用逗号(,)连接事件名,并且在读取这些数据以保存到数据库时,您可以分隔逗号(,),意味着从中删除逗号并将每个事件名称存储到数据库中。 这是我根据你的问题理解的。