Создание простого счетчика лайков с использованием PHP и AJAX - PullRequest
0 голосов
/ 06 марта 2012

Я создаю веб-приложение с CodeIgniter.

Сообщения на сайте могут быть любимы пользователями.Я разработал модель, которая учитывает общее количество любовей, но я хотел бы сделать это обновление, используя AJAX всякий раз, когда добавляется новая любовь.

Общее количество любовей отображается с помощью следующего кода:

<p><a href="#" id="lovecounter"><?php if ($post->love) { echo $post->love; } else { echo 0; } ?></a></p>

Таблица базы данных, которая содержит данные о любви, называется "post_rating" и имеет следующую структуру:

  • id
  • post_id
  • user_id
  • рейтинг

В столбце «рейтинг» будет 0 по умолчанию или 1 для любви.

Куда мне идти?

По правде говоря, я абсолютный нуб, когда дело доходит до Javascript и AJAX.Я понятия не имею, с чего начать, поэтому любые указания и идеи будут очень признательны!

Спасибо.

Ответы [ 3 ]

0 голосов
/ 06 марта 2012

Создайте страницу php на сервере, которая принимает запрос, который вызывается нажатием кнопки «любовь».На этой странице php вы можете увеличить счетчик и обновить базу данных, где она хранится.Затем, когда страницы отображаются, они могут загрузить этот новый счетчик из БД.Использование шаблона проектирования, такого как MVC, делает это действительно простым, поскольку все ваши запросы могут быть направлены на правильный контент.Я использую этот подход на www.phpblueprint.com для динамической загрузки каждой из скользящих страниц с сервера, на котором работает PHPBlueprint.

На стороне клиента просто нажмите кнопку «love», чтобы вызвать событие ajax, используя XMLHttpRequest илипросто используйте библиотеки jQuery Ajax API (очень, очень простой и мощный).

ОБНОВЛЕНИЕ

Извините, только что увидел, что вы используете CodeIgniter, это отличная среда MVC. Это поможет вам с тем, что вы хотите сделать.

0 голосов
/ 06 марта 2012

Прежде всего, я думаю, что столбец «рейтинг» не очень полезен, вам нужно только посчитать количество строк, по которым в сообщении выполняется поиск, по «post_id», и у вас будет количество «loves» или "лайки" проголосовали.

Затем, что касается javascript и ajax, я также предлагаю использовать JQUERY, это облегчает работу с И теперь Codeigniter поставляется с библиотекой javascript, которая имеет jquery http://codeigniter.com/user_guide/libraries/javascript.html

В вашем случае, в моей сети, в лайках мы использовали этот метод: вызов функции контроллера со всеми данными через post или uri или что вы хотите, и ответ с эхом json вроде:

<!-- language: lang-php -->
$this->output->set_content_type('application/json')
->set_output(json_encode(
     array('love' =>($this->loves_model->love_inserted() == TRUE)?'true':'false')
);

Тогда вам нужно только получить данные через jquery и изменить DOM вместе с ним.

0 голосов
/ 06 марта 2012

jQuery делает AJAX очень простым.Я недавно узнал это сам.Прочитайте это и это для хороших примеров.

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