delete data of table on image click
Pagina: « vorige 1 2 3 volgende »
- Ariën - op 28/11/2016 21:49:58:
Werkt nog steeds niet...
En heb je een voorbeeld die wij hier kunnen bekijken?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$row['verwijder'] = '<form action="" method="post"><button type="submit" name="submit" class="remove" id="'. $row['id'] .'" ><img src="http://countrywidesucks.co.uk/images/tick-no.png" draggable="false" style="width: 15px; height: 15px;" border="0"></button></form>';
if(isset($_POST['submit'])){
$sql = "DELETE FROM paneel_promotags WHERE id='". $row['id'] ."'";
if (mysqli_query($con,$sql) === true) {
echo 'test';
} else {
}
if(isset($_POST['submit'])){
$sql = "DELETE FROM paneel_promotags WHERE id='". $row['id'] ."'";
if (mysqli_query($con,$sql) === true) {
echo 'test';
} else {
}
Gewijzigd op 28/11/2016 22:05:03 door - Rob -
Want volgens mij heb je zelf geen idee wat je nou precies wilt.
maar hij moet er maar 1 pakken.
Jawel, dat hele script wat bij die link stond, heb ik weg gedaan en dit geprobeerd. Hij verwijderd nu alles. Maar hij pakt alle ids bij Je AJAX-script stuurt via de POST-method het ID van het bericht door naar het script.
Let wel op SQL-injection.
Die code staat in de while-loop waar alle records in staan.
En direct voor het record staat telkens de regel if(isset($_POST['submit'])).
Dus als die true geeft worden alle records verwijderd.
Gewijzigd op 28/11/2016 22:24:31 door - SanThe -
- SanThe - op 28/11/2016 22:22:24:
Die code staat NIET in het script dat je met Ajax oproept.
Die code staat in de while-loop waar alle records in staan.
En direct voor het record staat telkens de regel if(isset($_POST['submit'])).
Dus als die true geeft worden alle records verwijderd.
Die code staat in de while-loop waar alle records in staan.
En direct voor het record staat telkens de regel if(isset($_POST['submit'])).
Dus als die true geeft worden alle records verwijderd.
Hoe kan ik dit oplossen?
Door dat weg te halen en zoals Ariën aangeeft alleen een delete uitvoeren in het door Ajax aangeroepen script.
Maar met dat jQuery script werkte het niet als ik op het plaatje klik...
Misschien werkt het wel, maar haalt hij je item nog niet weg? Of is de query gewoon stuk die op de achtergrond een foutmelding geeft?
Dus, wees eens wat specifieker dan alleen maar: 'het werkt niet'.
Kom anders met een voorbeeld aan die we kunnen uittesten.
Gewijzigd op 28/11/2016 22:32:37 door - Ariën -
https://static.afbeeldinguploaden.nl/1611/200043/BLpMxcYb.png
Verwijder knop code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php $result = mysqli_query($con,"SELECT * FROM paneel_promotags");
$i = 0;
while($row = $result->fetch_assoc())
{
if ($i == 0) {
$i++;
echo "<tr>";
foreach ($row as $key => $value) {
echo "";
}
echo "</tr>";
}
echo "<tr>";
if($PaneelLevel['toegang_admin'] == 1){
$row['verwijder'] = '<form action="" method="post"><button type="submit" name="verwijder" class="remove" id="'. $row['id'] .'" ><img src="http://countrywidesucks.co.uk/images/tick-no.png" draggable="false" style="width: 15px; height: 15px;" border="0"></button></form>';
}
foreach ($row as $value) {
echo "<td>" . $value . "</td>";
}
echo "</tr>";
}
?>
$i = 0;
while($row = $result->fetch_assoc())
{
if ($i == 0) {
$i++;
echo "<tr>";
foreach ($row as $key => $value) {
echo "";
}
echo "</tr>";
}
echo "<tr>";
if($PaneelLevel['toegang_admin'] == 1){
$row['verwijder'] = '<form action="" method="post"><button type="submit" name="verwijder" class="remove" id="'. $row['id'] .'" ><img src="http://countrywidesucks.co.uk/images/tick-no.png" draggable="false" style="width: 15px; height: 15px;" border="0"></button></form>';
}
foreach ($row as $value) {
echo "<td>" . $value . "</td>";
}
echo "</tr>";
}
?>
Het script wat AJAX moet inladen:
Gewijzigd op 28/11/2016 22:43:23 door - Ariën -
Toevoeging op 28/11/2016 22:45:07:
Rob Chesture op 28/11/2016 22:43:13:
Done, maar $_POST['id'] herkent hij niet omdat er ook niks gepost wordt voor een id. Ik heb $row['id'] uit de database gehaald, $row['id'] is steeds het id dat overeenkomt met de database.
De $.ajax() functie van het jQuery-script zou toch echt het ID via POST moeten meesturen.
Toevoeging op 28/11/2016 22:52:00:
Het lijkt wel of die het helemaal niet inlaad...
En heb je geen tastbaar voorbeeld anders?
<script type="text/javascript">
$(document).ready(function()){
$('.remove').on('click', function()){
// krijg element waarop je klikt met this
var remove_id = $(this).attr('id');
// ajax request
$.ajax({
url:"verwijderen.php",
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
}
});
});
}
</script>
Toevoeging op 29/11/2016 07:38:31:
- Ariën - op 28/11/2016 22:57:23:
Hoe ziet je $.ajax() script eruit?
En heb je geen tastbaar voorbeeld anders?
En heb je geen tastbaar voorbeeld anders?
Wat bedoel je met een tastbaar voorbeeld?
Gewijzigd op 29/11/2016 07:37:56 door - Rob -
Verder doe je niks als de AJAX-request lukt. Je zou dan met jQuery je row moeten weghalen uit je HTML. Zie mijn gegeven link eerder in dit topic.
Gewijzigd op 29/11/2016 09:53:24 door - Ariën -
Toevoeging op 29/11/2016 14:59:05:
Maar ik heb het al werkend gekregen, als je op die image drukt, wordt je gewoon doorgewezen naar verwijderen.php waarin die die row verwijderd en dat je direct terug wordt verwezen.