2013-05-29 3 views
0

У меня есть сайт, который обновляет таблицу mysql, когда пользователь добавляет некоторую информацию, однако, если пользователь нажимает кнопку обновления, мне нужны эти записи, которые нужно удалить. Есть ли способ сделать это с помощью javascript? Я новичок в jquery, поэтому я бы предпочел избежать этого.Удалить данные из таблиц mysql, когда пользователь нажимает кнопку обновления

Я не могу использовать транзакции mysql, так как я использую разные php-файлы и ajax.

ответ

0

С помощью JavaScript вы можете использовать событие OnUnload, чтобы проверить обновления и AJAX для вызова ваших PHP функции:

<script type="text/javascript"> 
    window.onunload = function(e) { 
     e = e || window.event; 

     var y = e.pageY || e.clientY; 

     if(y < 0) alert("Window closed"); 
     else { 
      $.ajax({ 
       type: "POST", 
       url: "functionsFolder/myFunction.php", 
       success: function(data) { 
        alert(data); 
       } 
      }); 
     }  
    } 
</script> 
+0

Спасибо! это очень полезно! Этот скрипт будет работать как для обновления, так и для закрытия сайта? – user2429151

+0

Спасибо, что я использовал функции onunload и onload для вызова своих функций ajax, и это сработало! – user2429151

0

Итак, вы хотите иметь возможность добавлять или обновлять несколько строк в базе данных, когда пользователь вводит ее, но когда они нажимают кнопку «Обновить», данные должны возвращаться снова?

Большой вопрос: зачем обновлять базу данных в первую очередь? Похоже, что он не достиг многого и просто добавляет сложности приложения. Если измененные строки никогда не должны быть записаны в базу данных, тогда нет смысла использовать

Если вы действительно что использовать таблицу базы данных для хранения временных данных, тогда создайте таблицу хранения, в которую входят новые/обновленные строки и только фиксировать эти данные при навигации.

+0

Да, это то, что я думал, я создал две временные таблицы и связаны функцию АЯКС к поэтому я могу теперь, когда страница была обновлена ​​и, похоже, работает нормально. Теперь моя проблема в том, что я добавил событие onbeforeunload, чтобы узнать, когда пользователь покидает сайт, но как я знаю, что он нажал кнопку «Оставить эту страницу»? – user2429151

+0

Создайте обработчик для кнопки «Оставить эту страницу», которая погасит запрос ajax, чтобы перенести все с холдинга на главный. – DaveyBoy

+0

Я просто посмотрел на ваш другой вопрос относительно того, как хранить транзакции MySQL в разных сценариях, и я предполагаю, что этот вопрос связан с этим. Вероятно, вам будет лучше хранить всю эту информацию в cookie, а не в таблице. Затем вы можете настроить пару обработчиков для записи или удаления данных в файле cookie в БД в зависимости от нажатой кнопки. Кроме того, поиск информации о реализации «корзины покупок» - зачем заново изобретать колесо для чего-то такого общего? – DaveyBoy

Смежные вопросы