Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обновление MySQL базы, при помощи AJAX + PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Обновление MySQL базы, при помощи AJAX + PHP
WhyAlwaysMe
Отправлено: 11 Декабря, 2012 - 14:35:35
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+]


Помогите реализовать, чтобы при нажатии кнопки на странице, занести +1 в базу данных, не обновляя страницу.

То есть при нажатии кнопки ( button или input (скорее всего) ) AJAX вызвал PHP код, который занесет данные в MySQL базу данный.

PHP-код.

<?
include("bd.php");
$table="news";
$result=mysql_query("SELECT * from `$table`");
$data = mysql_fetch_array($result);
if ($_POST['id'])
{
$id = $_POST['id'];
$like = $data[like] + 1;
mysql_query("update news set like='$like' where id='$id'");
}
?>

Кривой конечно, но как-то так. Помогите, пожалуйста. Пытаюсь сделать что-то похожее на кнопку Like.
 
 Top
ams
Отправлено: 11 Декабря, 2012 - 14:56:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 351
Дата рег-ции: Нояб. 2010  


Помог: 13 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. include("bd.php");
  3. $id = (int) $_POST['id'];
  4. mysql_query("UPDATE `news` SET `like` = `like` + 1 WHERE `id` = " . $id) or die(mysql_error());
  5.  

Вроде красивее
 
 Top
WhyAlwaysMe
Отправлено: 11 Декабря, 2012 - 15:06:13
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+]


За это спасибо конечно но вопрос в другом
 
 Top
likvidator
Отправлено: 11 Декабря, 2012 - 15:14:39
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


щас,все будет)
(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1. <script src="js/jquery-1.7.2.js" type="text/javascript"></script>
  2. <script type="text/javascript">
  3. function send()
  4. {
  5.        $.ajax({
  6.                 type: "POST",
  7.                 data: "like="+"1",
  8.                                 url: "like.php",
  9.                 //При удачном завершение запроса - выводим то, что нам вернул PHP
  10.                 success: function(html) {
  11.                 $("#response").empty();
  12.                         $("#response").append(html);
  13.                 }
  14.         });}
  15. </script>

CODE (html):
скопировать код в буфер обмена
  1. <div id="response"></div>
  2. <form action="" onsubmit="send();return false;">
  3. <button name="like"> +1 </button>
  4. </form>

like.php:

(Отредактировано автором: 11 Декабря, 2012 - 15:17:43)

 
 Top
WhyAlwaysMe
Отправлено: 11 Декабря, 2012 - 15:36:47
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+]


Помогло, но мне все таки нужно так

ЕСТЬ НОВОСТИ, КОТОРЫЕ ВЫВОДЯТСЯ В ЦИКЛЕ, В БД ЕСТЬ СТОЛБЕЦ LIKE, мне нужно, чтобы при нажатии на кнопку добавилось +1 в столбец LIKE ( где у каждой новости свой id )

ПОЖ ПОМОГИТЕ
 
 Top
likvidator
Отправлено: 11 Декабря, 2012 - 15:38:49
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


что значит не все как нужно? блин,что тяжело пару строчек дописать? Я сделал основное: передача запроса,дале в файле пхп:
PHP:
скопировать код в буфер обмена
  1. if(isset($_POST['like'])){
  2. // действия ВАШИ
  3. ;}

(Добавление)
PHP:
скопировать код в буфер обмена
  1. if(isset($_POST['like'])){
  2. $id = (int) $_POST['id'];
  3. include("bd.php");
  4. mysql_query("UPDATE `news` SET `like` = `like` + 1 WHERE `id` = " . $id) or die(mysql_error());}

(Добавление)
не за что ...
 
 Top
avtor.fox
Отправлено: 11 Декабря, 2012 - 15:58:24
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




likvidator пишет:
не за что ...

Эка душа ранимая. А то, что ТС налайкают одну запись мильён так раз, нормально?
 
 Top
WhyAlwaysMe
Отправлено: 11 Декабря, 2012 - 16:12:09
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+]


И все-таки Вы пишете if(isset($_POST['like']) И $id = (int) $_POST['id'];


НО ведь при POST в Ajax мы не отсылаем id, или я путаю что-то?
(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1. <script src="js/jquery-1.7.2.js" type="text/javascript"></script>
  2. <script type="text/javascript">
  3. function send()
  4. {
  5.        $.ajax({
  6.                 type: "POST",
  7.                 like: "like="+"1",
  8.                                 id: "$data['id']",
  9.                                 url: "add pages/like.php",
  10.                 //При удачном завершение запроса - выводим то, что нам вернул PHP
  11.                 success: function(html) {
  12.                 $("#response").empty();
  13.                         $("#response").append(html);
  14.                 }
  15.         });}
  16. </script>


Сделал так, правильно? Но не видит все равно.
 
 Top
likvidator
Отправлено: 11 Декабря, 2012 - 16:30:34
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


avtor.fox пишет:
likvidator пишет:
не за что ...

Эка душа ранимая. А то, что ТС налайкают одну запись мильён так раз, нормально?

а то,что это не раздел "напишите за меня",и то,что задача не в этом,ничего,да? Т.е считаю что пхп обработчик- его проблемы
(Добавление)
WhyAlwaysMe пишет:
И все-таки Вы пишете if(isset($_POST['like']) И $id = (int) $_POST['id'];


НО ведь при POST в Ajax мы не отсылаем id, или я путаю что-то?

проще ид гетом подавать,тогда
PHP:
скопировать код в буфер обмена
  1. $id =$_GET['id'];
  2. If(is_numeric($id)){
  3. // код
  4. ;}

(Отредактировано автором: 11 Декабря, 2012 - 16:34:12)

 
 Top
WhyAlwaysMe
Отправлено: 11 Декабря, 2012 - 16:38:33
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+]


Спасибо, а как решить проблему с тем, что работает тлько на одну новость?
 
 Top
likvidator
Отправлено: 11 Декабря, 2012 - 16:40:56
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


WhyAlwaysMe пишет:
Спасибо, а как решить проблему с тем, что работает тлько на одну новость?

т.е?
 
 Top
WhyAlwaysMe
Отправлено: 11 Декабря, 2012 - 16:42:09
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+]


Т. е. : Я пишу этот код в цикл вывода новостей, выводятся новости, а срабатывает только на последней.
(Добавление)
И вопрос я передаю id так

CODE (javascript):
скопировать код в буфер обмена
  1.  $.ajax({
  2.                 type: "GET",
  3.                 data: "$data[id]",
  4.                                 url: "add pages/like.php",
  5.                 //При удачном завершение запроса - выводим то, что нам вернул PHP
  6.                 success: function(html) {
  7.                 $("#response").empty();
  8.                         $("#response").append(html);
  9.                 }
Это - правильно?
 
 Top
likvidator
Отправлено: 11 Декабря, 2012 - 17:32:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $id="1233333333333";
  3. $id2="2";
  4. ?>

CODE (javascript):
скопировать код в буфер обмена
  1. <script src="js/jquery-1.7.2.js" type="text/javascript"></script>
  2. <script type="text/javascript">
  3. function send(id)
  4. {
  5.        $.ajax({
  6.                 type: "POST",
  7.                 data: "like="+id,
  8.                                 url: "like.php",
  9.                 //При удачном завершение запроса - выводим то, что нам вернул PHP
  10.                 success: function(html) {
  11.                 $("#response").empty();
  12.                         $("#response").append(html);
  13.                 }
  14.         });}
  15. </script>

CODE (html):
скопировать код в буфер обмена
  1. <div id="response"></div>
  2. <button onclick="send(<?php echo $id; ?>)"> +1 </button>
  3. <br>
  4. <button onclick="send(<?php echo $id2; ?>)"> +1 </button>

ЗЫ. надеюсь поймете - это чистый пример,адаптируйте под себя!

(Отредактировано автором: 11 Декабря, 2012 - 17:33:53)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB