- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Просьба подсказать.
Не силен в аяксе, а нужна простая опция:
Есть запись на сайте, возле нее иконка,
при клике по иконке со ссылкой, например: site.ru/upd.php?id=1
нужно чтобы происходило обновление записи в базе с id=1
т.е. UPDATE table SET value=1 WHERE id=1 - это все понимаю.
А также запись на странице, возле которой кликнута иконка, должна становится зачеркнутой (ну здесь ява-скриптом делается).
При повторном клике, все наоборот - запись не зачеркнутая становится, в базе меняется value=0.
Но не знаю, как сделать это без перезагрузки страницы, нужно запрос сделать аяксом, в этом и не силен.
А так аякс к сайту уже подключен:
<script type="text/javascript" src="/js/jquery.min.js"></script>
Это же с помощью этой библиотеки будет осуществляться?
В двух словах это не объяснишь, почитайте как аякс работает.
Тут описывается подобная задача, только там лайк/дизлайк http://vk-book.ru/ajax-lajkidizlajki-dlya-zapisej/ , но принцип работы тот же.
В двух словах это не объяснишь, почитайте как аякс работает.
Тут описывается подобная задача, только там лайк/дизлайк http://vk-book.ru/ajax-lajkidizlajki-dlya-zapisej/ , но принцип работы тот же.
Да, лайк-дизлайк как раз тоже самое получается, спасибо, буду изучать.
AJAX можно и без jQuery сделать, но это я так, к сведению.
$('#knopka').click(function(){
$.ajax({
url: '/файл php.php',
type: 'POST',
data: {'id': id который надо передать},
success: function(html){
$('#knopka').css('то что нужно с кнопкой сделать');
}
});
});
Примерно так на jquery 🍿
Всем спасибо, все получилось быстрее, чем ожидал, примерно такая функция:
function NoteStrike(id, uid)
{
var note = 'note' + id;
var img = 'img' + id;
if (document.getElementById(note).className == "NoteStriked")
{
var striked = 0;
document.getElementById(note).className = "NoteUnstriked";
document.getElementById(img).src = '../images/unstriked.png';
} else {
var striked = 1;
document.getElementById(note).className = 'NoteStriked';
document.getElementById(img).src = '../images/striked.png';
}
$.ajax({
type: "POST",
url: "/cab/note_update.php",
data: {'action': 'strike', 'id': id, 'uid': uid, 'striked': striked},
dataType: "json",
});
}
Подскажите, если что коряво получилось.
Можно добавить проверку значения из note_update.php и если все нормально, тогда менять картинку.
Подскажите, если что коряво получилось.
Данный скрипт не знает добавился ли +1/-1 в базу данных, т.е. кнопочка то у вас работает, но если к примеру кто нибудь нажмет на кнопочку, а в UPDATE не будет выполнен, то после перезагрузки страницы у него опять же появиться 0.
Гляньте сюда http://api.jquery.com/jquery.ajax/ в частности на statusCode и уже на сервере отдавайте заголовок сервера 200 в случае успеха обновления таблицы вместе с каким то (like/dislike), в случае если не изменилось значение 403 к примеру. Ну и соответственно нужно изменить значение кнопочки при статусе в 200.
Данный скрипт не знает добавился ли +1/-1 в базу данных, т.е. кнопочка то у вас работает, но если к примеру кто нибудь нажмет на кнопочку, а в UPDATE не будет выполнен, то после перезагрузки страницы у него опять же появиться 0.
Гляньте сюда http://api.jquery.com/jquery.ajax/ в частности на statusCode и уже на сервере отдавайте заголовок сервера 200 в случае успеха обновления таблицы вместе с каким то (like/dislike), в случае если не изменилось значение 403 к примеру. Ну и соответственно нужно изменить значение кнопочки при статусе в 200.
Спасибо, тоже хороший вариант, но можно проверять, как и в первой ссылке написано?
Скрипт выдает в случае записи в базу:
Затем:
success: function(data){
if(data.result == 'success'){
Меняем картинку на кнопке
}
Верно?
---------- Добавлено 26.08.2014 в 07:36 ----------
А лучше даже сразу получать значение переменной:
echo json_encode(array('strike' => $Strike));
И в зависимости от: data.strike менять кнопочку
---------- Добавлено 26.08.2014 в 07:44 ----------
Вот так получилось:
{
var note = 'note' + id;
var img = 'img' + id;
if (document.getElementById(note).className == "NoteStriked")
{
var striked = 0;
} else {
var striked = 1;
}
$.ajax({
type: "POST",
url: "/cab/note_update.php",
data: {'action': 'strike', 'id': id, 'uid': uid, 'striked': striked},
dataType: "json",
success: function(data){
if(data.strike == 1)
{
document.getElementById(note).className = 'NoteStriked';
document.getElementById(img).src = '../images/striked.png';
} else {
document.getElementById(note).className = "NoteUnstriked";
document.getElementById(img).src = '../images/unstriked.png';
}
}
});
}
---------- Добавлено 26.08.2014 в 07:44 ----------
Вроде все работает...
Ну это не принципиально, мне просто с заголовками удобно работать, вот я и пишу так.
Ну это не принципиально, мне просто с заголовками удобно работать, вот я и пишу так.
Ок, понял, значит это решение тоже нормальное.
Спасибо всем, вроде довел до ума опцию :)