Door
- Rob -
op 28-11-2016 19:29
gewijzigd op 28-11-2016 19:33
5.677 views
Hallo PHP hulp! Ik heb een vraag: Hoe kan ik ervoor zorgen dat als ik op een plaatje druk dat die de data verwijderd van dat id. Hieronder screens met wat duidelijkere uitleg.
Dat is hoe de pagina eruit ziet, en als je op dat kruisje drukt, moet de data van die rij worden verwijderd. Maar dat is moeilijker door dit (denk ik):
Je kan hier geen form doen, zodat die de data kan met method"POST" of method "GET" kan gebruiken. Enige ideeën hoe ik kan zorgen dat als je op dat plaatje drukt dat de data verwijderd wordt met een SQL met het id wat daar links staat bij 'id'.
The variable ‘id’ is then set with the value of the delete button id which would could be the id of the row in the database that you want to delete. This is then posted to the page delete.php.
Met andere woorden: Er wordt dus delete.php aangeroepen, waarin je dan een DELETE-query uitvoert om je ID te verwijderen.
De img heeft nu een class die gebruikte wordt voor een click functie met jquery. Daarna heeft deze een id (567) gekregen, is id uit database. Nu kan je het volgende doen in jquery
$(document).ready(function()){
$('.remove').on('click', function()){
// krijg element waarop je klikt met this
var remove_id = $(this).attr('id');
// ajax request
$.ajax({
url:"hier_script_die_delete_query doet",
type : 'POST',
// Type data dat je terug verwacht van php script, in dit geval json
dataType : "json",
// stuur als post request param, die je kan gebruiken in je php script
data : param : {id : remove_id },
// callback function data (data is de response die je van php krijgt)
success:function(data) {
// hier heb je meerdere opties::
// pagina refreshen
// met jquery de row verwijderen
}
});
});
}
Ik heb de code zo even uit me hoofd getypt kunnen foutjes in zitten, hoop dat je hier wat aan hebt.
<?php
// Script voor het verwijderen van promotag
$sql = "DELETE FROM paneel_promotags WHERE id='$id'";
if (mysqli_query($con,$sql) === true) {
header('Location: /paneel/admin/promotag/overzicht');
} else {
}
?>
JavaScript
<script type="text/javascript">
$(document).ready(function() {
$('').hide();
});
$(function() {
$(".delete").click(function() {
$('').fadeIn();
var commentContainer = $(this).parent();
var id = $(this).attr("id");
var string = 'id='+ id ;
$.ajax({
type: "POST",
url: "verwijderen.php",
data: string,
cache: false,
success: function(){
commentContainer.slideUp('slow', function() {$(this).remove();});
$('').fadeOut();
}
});
return false;
});
});
</script>
De img heeft nu een class die gebruikte wordt voor een click functie met jquery. Daarna heeft deze een id (567) gekregen, is id uit database. Nu kan je het volgende doen in jquery
$(document).ready(function()){
$('.remove').on('click', function()){
// krijg element waarop je klikt met this
var remove_id = $(this).attr('id');
// ajax request
$.ajax({
url:"hier_script_die_delete_query doet",
type : 'POST',
// Type data dat je terug verwacht van php script, in dit geval json
dataType : "json",
// stuur als post request param, die je kan gebruiken in je php script
data : param : {id : remove_id },
// callback function data (data is de response die je van php krijgt)
success:function(data) {
// hier heb je meerdere opties::
// pagina refreshen
// met jquery de row verwijderen
}
});
});
}
Ik heb de code zo even uit me hoofd getypt kunnen foutjes in zitten, hoop dat je hier wat aan hebt.
Als je op het plaatje drukt gebeurt er dus niks... Enig idee waarom?