Запуск PHP-скрипта через Ajax, по ссылке? - PullRequest
2 голосов
/ 13 июля 2011

Я делаю довольно простую систему оценки, и у меня небольшая проблема.Когда вы +1 что-то оцениваете, я пытаюсь запустить PHP-скрипт, который будет подключаться к базе данных, загружать из нее значение, +1 к этому значению и снова ОБНОВЛЯТЬ значение в базе данных.

Я не думаю, что перезагрузка страницы для системы непрерывного рейтинга была бы очень хорошей идеей: S

Мне интересно, как я могу переключать PHP-скрипт с Ajax, так что когдаВы щелкаете изображение знака +, запускается скрипт PHP add 1, и кнопка + превращается в галочку.Я дерьмо в ajax, и я бы попробовал jQuery + $ .ajax ({});но я провалил 73 попытки.ха-ха.

Кто-нибудь готов помочь мне написать сценарий Ajax?: DDD

Спасибо!:)

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

Если вы хотите, чтобы кто-то щелкнул ссылку, которая будет открывать вашу страницу, предположим, что у вас есть этот мап:

<a class = 'plusOne' id = 'someIDForYourSQLTable'>+1</a>

Идентификатор - это то, что вы собираетесь передать в свой серверный скрипт, чтобы вы могли обновитьсоответствующая строка, вообще говоря, должна быть первичным идентификатором (т. е. ключом) для записи, которую вы хотите + 1.

Вот jQuery, который отправит запрос ajax в файл: plusOne.php втот же каталог, что и текущая страница:

$(function() {
    $(".plusOne").bind("click", function() {
        $.ajax({
            type: "GET",
            data: "v="+$(this).attr("id"),
            url: "plusOne.php",
            success: function(data) {
                // Whatever you want to do after the PHP Script returns.
            }
        });
    });
});

Запрос отправит URL-параметр 'v', к которому вы можете получить доступ в своем скрипте PHP из суперглобального массива $_GET.

1 голос
/ 13 июля 2011

html

<img src="plusone.png" rel="some_unique_id" class="rate" />

javscript

$(".rate").click(function() {
   var elem = $(this);
   $.get('/rate.php?id=' + elem.attr('rel'), function() {
         elem.attr('src', 'checked.png').unbind('click');
   });
});

и в php

mysql_connect('localhost','db_user','pssword');
mysql_query('UPDATE database_name.table_name SET rating=rating+1 where id=' . mysql_real_escape_string($_GET['id']));
0 голосов
/ 13 июля 2011

Взгляните на xAjax , библиотеку для предоставления функций / методов PHP клиентскому JavaScript . xAjax делает все очень просто.

Например, вы можете параллельно выполнять несколько изменений в браузере:

$objResponse = new xajaxResponse();
$objResponse->assign("myInput1","value",$DataFromDatabase);
$objResponse->assign("myInput1","style.color","red");
$objResponse->append("myDiv1","innerHTML",$DataFromDatabase2);
$objResponse->prepend("myDiv2","innerHTML",$DataFromDatabase3);
$objResponse->replace("myDiv3","innerHTML","xajax","<strong>xajax</strong>");
$objResponse->script("var x = prompt("Enter Your Name");");
return $objResponse;
...