Я хочу отправить несколько частей данных, используя одну переменную в базу данных (используя JS, PHP и AJAX) - PullRequest
1 голос
/ 17 декабря 2010

Мне неизвестна правильная терминология или жаргон с программированием, так что извините, если этот вопрос неясен. Чтобы сделать более ясным, вот код, который я написал до сих пор. Я объясню проблему более подробно после кода:

Я использую этот код для извлечения данных из 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();
}

Итак, проблема в том, что мне нужно хранить отдельные имена событий, идентификаторы и статусы, а также код в том виде, в каком он есть сейчас. Я могу вывести их на страницу по отдельности, но не могу отправить их в файл PHP по отдельности. Как мне это сделать (при условии, что это возможно)?

Ответы [ 2 ]

1 голос
/ 17 декабря 2010

Вы можете объединить имена событий с запятой (,), а при чтении этих данных для сохранения в базу данных вы можете разделить запятую (,), то есть удалить запятые из этого и сохранить каждое имя события в базе данных. Это то, что я понимаю согласнок вашей проблеме ..

1 голос
/ 17 декабря 2010

Используйте jQuery для вызова ajax в вашем php-скрипте.

$.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 ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...