Кратко о всем:
Ajax
.При написании возникла проблема, конкретно:
ID
(значение поля с названием id
) того этапа цикла, где как раз был этот ИД (где я нажал на кнопку с классом .del
.
Пробовал поставить аякс-скрипт внутрь цикла, но понял, что идея плохая, т.к. этот самый js-скрипт
будет миллион раз повторятся.Есть такой код:
<?php
$pdo = new PDO("mysql:dbname=awesome;host=localhost", "main", "main");
$sql = "SELECT * FROM users";
$rs = $pdo->query($sql);
while($row = $rs->fetch(PDO::FETCH_ASSOC)){
?>
<div class="col-md-12">
<h1><?php echo $row['title']?></h1>
<h3><?php echo $row['text']?></h3>
<p>Автор: <?php echo $row['author']?></p>
<p><?php echo $row['time']?></p>
<br><br>
<a href="edit.php?id=<?php echo $row['id']?>">Редагувати</a>
<a class="btn btn-danger del">Видалити</a>
<hr>
</div>
<? } ?>
И сам аякс:
<script>
$(document).ready(function() {
var id = <?php echo $row['id']; ?>;
console.log(id);
$(".del").bind("click",function(){
$.ajax({
url: 'delete.php?id=',
type: 'GET',
data: ({id: id})
});
});
});
</script>
В файле delete.php
вот такой код:
<?php
$pdo = new PDO("mysql:dbname=awesome;host=localhost", "main", "main");
$id = $_GET['id'];
$sql = "DELETE FROM users WHERE id='$id'";
$pdo->query($sql);
echo '
<p>Успішно видалено!</p>
<br>
<a href="index.php" class="btn btn-default">Назад<a>';
?>
Ну так добавьте ваш 'id' в доступном для JS виде в сам элемент как вы делаете для редактирования. Например так:
<a class="btn btn-danger del" data-id=<?php echo $row['id']?>>Видалити</a>
А дальше получите его в скрипте:
$('.del').bind('click', function(evtObject) {
var elem = evtObject.target;
$.ajax({
url: 'delete.php?id=',
type: 'GET',
data: ({id: elem.dataset.id })
}).done(function( data, textStatus, jqXHR ) {
elem.parentNode.remove();
});
});
Виртуальный выделенный сервер (VDS) становится отличным выбором
Интересует "Задачник по паттернам проектирования" по типу: задача из реального проекта - варианты решения с использованием паттернов с комментариямиВстречал...
Всем приветПервый раз тут, потому что столкнулся действительно со сложной проблемой