Передача данных в базу данных с использованием JavaScript Onclick - PullRequest
1 голос
/ 03 апреля 2009

Я настоящий нуб, когда дело доходит до javascript / ajax, поэтому любая помощь будет очень признательна. В связи с этим вопросом:

Обновление базы данных MySql с использованием PHP через функцию JavaScript onClick

Но в основном касается ответа, оставленного Phill Sacre . Мне интересно, может ли кто-нибудь рассказать о том, как мы (если можем?) Передавать значения / данные через его пример, используя jquery. Оставленный им пример кода выглядит следующим образом:

    function updateScore(answer, correct) {

      if (answer == correct) {
$.post('updatescore.php');

  }
}

...

<a onclick="updateScore(this, correct)" ...> </a>

Скажем, к примеру, мы хотим передать в базу данных любое количество значений с помощью php. Может ли кто-нибудь дать мне фрагмент кода того, что требуется в функции javascript? Или уточните, что написано выше, пожалуйста?

Еще раз спасибо всем.

Ответы [ 3 ]

1 голос
/ 03 апреля 2009

Самый простой пример, который я могу придумать, - это. Сделайте ваш AJAX-вызов в вашем , если блок, как это:

$.get('updatescore.php', {'score': '222'}, function(d) {
    alert('Hello from PHP: ' + d);
});

В вашем скрипте "updatescore.php" просто сделайте это: обновите счет . И верните простой текст с указанием, была ли операция обновления успешной или нет.

Удачи.

P.S .: Вы также можете использовать POST вместо GET .

0 голосов
/ 03 апреля 2009

Фил не передает никаких значений в сценарий. Он просто отправляет запрос в скрипт, который, скорее всего, содержит логику для «обновления» партитуры. Опытный человек, проходящий его тест, может просто посмотреть на исходный код HTML и увидеть ответ, проверив, что делает якорь.

Чтобы еще более придирчиво относиться к его решению, следует использовать набор переключателей, а внутри формы следует использовать кнопку или какой-то кликабельный элемент для отправки значений на сервер через запрос ajax, а значения отправленный на сервер может быть проанализирован и статус ответа отправлен обратно на страницу.

Поскольку вы используете jQuery, код можно сделать ненавязчивым, как показано в следующем примере:

$('#submit_answer').click(function() {
    var answer = 'blah' // With blah being the value of the radio button
    $.get('updatescore.php',
    {'value': answer},
    function(d) {
        alert('Your answer is: ' + d') // Where d is the string 'incorrect' or 'correct'
    }
});

Наслаждайтесь.

0 голосов
/ 03 апреля 2009

То, что вы бы сделали, это на стороне php-сервера есть страница, скажем, ее update.php. Эта страница будет посещена вашим javascript в Ajax-запросе, примет запрос и поместит его в базу данных.

PHP может выглядеть примерно так:

<?php
mysql_connect(...)
mysql_query("INSERT INTO table 
(score) VALUES('$_GET["score"]') ") 

Ваш javascript просто преформирует ajax-запрос на update.php и отправит ему переменные в виде значения «score».

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