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 :: Добавление/Удаление данных без перезагрузки страницы.

 PHP.SU

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


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

> Описание: Хочу реализовать Добавление/Удаление данных без перезагрузки страницы.
webog
Отправлено: 07 Июля, 2014 - 15:38:34
Post Id


Частый гость


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


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

[+]


Добра всем!

Хотелось бы реализовать Добавление/Удаление данных без перезагрузки страницы.

Допустим сброс статистики:

Вася - 5

Жмем Удалить, страница не перезагружается, пять меняется на ноль. (запрос к базе и ответ)

Как реализовать такое? Есть идет?

P.S. За рабочий вариант - пиво!


-----
Hello!
 
 Top
Panoptik
Отправлено: 07 Июля, 2014 - 16:02:25
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




это называется ajax
index.html
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8" />
  5.     <title></title>
  6.     <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  7. </head>
  8. <body>
  9.     <div id="data">
  10.         <div class="item" data-id="123">
  11.             <p>Вася <span class="stat">5</span></p> <button>Сбросить</button>
  12.         </div>
  13.     </div>
  14. <script type="text/javascript">
  15.     $(function() {
  16.         $("#data").on('click', 'button', function() {
  17.             var o = $(this),
  18.                 row = o.closest('.item'),
  19.                 // берем айдишник записи
  20.                 id = row.data('id');
  21.             // шлем аякс запрос
  22.             $.post('reset.php', {
  23.                 // передаем на сервер постом параметр id (слева) у которого значение будет равно значению id  (справа)
  24.                 id:id
  25.             // колбек функция которая срабатывает после успешного выполнения запроса
  26.             }, function(data) {
  27.                 // data - данные которые отправил нам сервер
  28.                 row.find('.stat').html(data);
  29.             })
  30.         });
  31.     });
  32. </script>
  33. </body>
  34. </html>


reset.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $id = (int)$_POST['id'];
  3. // здесь обработка данных в БД или еще где-нибудь
  4. // $db->execute('UPDATE tbl SET stat=0 WHERE id = ' . $id);
  5. echo 'сброшенные данные 0';


пива не надо


-----
Just do it
 
 Top
esterio
Отправлено: 07 Июля, 2014 - 16:02:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




в гугле ищем AJAX
webog пишет:
P.S. За рабочий вариант - пиво!

Не видя ваш код, как можно скинуть рабочий вариант? здесь ванг нету
 
 Top
webog
Отправлено: 07 Июля, 2014 - 16:20:20
Post Id


Частый гость


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


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

[+]


Цитата:
CODE (html):
скопировать код в буфер обмена
  1. <div id="data">
  2.         <div class="item" data-id="123">
  3.             <p>Вася <span class="stat">5</span></p> <button>Сбросить</button>
  4.         </div>
  5.     </div>


А если я делаю так?

PHP:
скопировать код в буфер обмена
  1. while ($row = mysql_fetch_array($Res)) {
  2.  
  3.         echo '<tr><td id="tableTd" align="center"><img src="'.$rowBan["url_img"].'" /></td>
  4.         <td id="tableTd" align="center">'.$row["show"].'</td>
  5.         <td id="tableTd" align="center">'.$row["click"].'</td>
  6.         <td id="tableTd" align="center"><a href="что-то можно еще написать'.$row["id"].'" title="Удалить"><img src="img/del.png" title="Удалить"></a></td>
  7.                                 </tr>';
  8.  
  9.  
  10.         }

(Добавление)
Цитата:
пива не надо


Не отказывайтесь! Если все будет работать, то положено.
(Добавление)
esterio пишет:
Не видя ваш код, как можно скинуть рабочий вариант? здесь ванг нету


Кода моего нет. Предложите свое решение за вознаграждение.

(Отредактировано автором: 07 Июля, 2014 - 16:21:28)



-----
Hello!
 
 Top
Panoptik
Отправлено: 07 Июля, 2014 - 17:16:06
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




ну какая разница какая будет разметка. вопрос в том что именно нужно в этой разметке изменять и по какому событию это делать?
(Добавление)
чем принципиально отличается ваш <tr> от моего <div class="item" data-id="123"> для логики - ничем


-----
Just do it
 
 Top
webog
Отправлено: 07 Июля, 2014 - 17:19:06
Post Id


Частый гость


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


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

[+]


Panoptik пишет:
ну какая разница какая будет разметка.


Не знаю. Я с Ajax'ом только знакомлюсь.

Ваш первый пример у меня несработал Недовольство, огорчение
(Добавление)
<div id="data">

class="item" data-id="123"

<span class="stat">

Это все важно?

Т.к. у меня

CODE (html):
скопировать код в буфер обмена
  1. <td id="tableTd" align="center"><a href="?action=deleteили еще что-то&id='.$rowBan["id"].'" title="Удалить"><img src="img/del.png" title="Удалить"></a></td>


id="tableTd"

Я за то, что будет по два ID и т.д.


-----
Hello!
 
 Top
Panoptik
Отправлено: 07 Июля, 2014 - 17:34:53
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




во первых что у вас не сработало? у меня этот пример работал
нужно создать 2 файла (1 - index.html, 2 - reset.php)
css классы и айди я устанавливал чтобы опираться на них в небольшом куске javascript-кода

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

http://learn[dot]javascript[dot]ru/css-selectors

ну и базовые методы jquery для навигации по дереву документа http://api[dot]jquery[dot]com/


-----
Just do it
 
 Top
webog
Отправлено: 07 Июля, 2014 - 17:39:24
Post Id


Частый гость


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


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

[+]


Panoptik пишет:
во первых что у вас не сработало? у меня этот пример работал
нужно создать 2 файла (1 - index.html, 2 - reset.php)


Хм... Я тестировал в *.php файле. Может это меня сгубило?

Ок! Сейчас Ваш код под свой подстрою, о результатах отпишусь.
(Добавление)
Да, в index.html все работает корректно, подтверждаю.

В index.php - Нет. Что делать? Есть альтернатива?


-----
Hello!
 
 Top
Panoptik
Отправлено: 07 Июля, 2014 - 18:38:08
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




так что именно не работает?
в пхп должно работать так же
мне же не известны параметры вашего окружения, так что наугад не ответить


-----
Just do it
 
 Top
webog
Отправлено: 07 Июля, 2014 - 18:49:12
Post Id


Частый гость


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


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

[+]


Panoptik пишет:
так что именно не работает?
в пхп должно работать так же


При нажатии никаких действий.

ID видать не передается. Он же у меня в ссылке.


-----
Hello!
 
 Top
webog
Отправлено: 08 Июля, 2014 - 13:59:48
Post Id


Частый гость


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


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

[+]


Ув., есть у кого нибудь решение?

Ведь не за спасибо работаем же!


-----
Hello!
 
 Top
LIME
Отправлено: 08 Июля, 2014 - 15:47:22
Post Id


Активный участник


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


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




ага
за пивас))
ты случаем когда в php переименовываешь не вставляешь в начало <?php
других вариантов у меня нет)
магия)
 
 Top
webog
Отправлено: 08 Июля, 2014 - 16:51:05
Post Id


Частый гость


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


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

[+]


LIME пишет:
за пивас))


Назовите свою цену. ))

LIME пишет:
ты случаем когда в php переименовываешь не вставляешь в начало <?php
других вариантов у меня нет)
магия)


Вставляю, не совсем нуб. ))


-----
Hello!
 
 Top
LIME
Отправлено: 08 Июля, 2014 - 16:54:53
Post Id


Активный участник


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


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




нубяра ))))
тут не надо как-раз
(Добавление)
у тебяж ниодной php инструкции))
вот php и видит html как ошибку синтаксиса
 
 Top
webog
Отправлено: 08 Июля, 2014 - 16:58:58
Post Id


Частый гость


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


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

[+]


LIME пишет:
нубяра ))))


Ув., модераторы, примите меры пожалуйста!

LIME пишет:
тут не надо как-раз


<?php

?>
HTML
<?php

?>
(Добавление)
LIME пишет:
у тебяж ниодной php инструкции))


Кто Вам такое сказал? У меня одни скрипты, а среди них нужно этот Ajax влупить. ))


-----
Hello!
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB