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'.

Mvg,
Rob
- Ariën - op 28/11/2016 21:49:58


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>



Werkt nog steeds niet...
Wat zegt de console van je browser (CTRL+SHIFT+J)?
En heb je een voorbeeld die wij hier kunnen bekijken?
Console geeft geen errors. Maar bij mijn code die ik stuurde pakt die alle ids, hoe kan ik zorgen dat die alleen het id pakt van die specefieke rij?

		$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 {
				
				}
Waar staat deze code? In je script die je via AJAX oproept? Of ergens anders?
Want volgens mij heb je zelf geen idee wat je nou precies wilt.
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
$sql = "DELETE FROM paneel_promotags WHERE id='". $row['id'] ."'";
maar hij moet er maar 1 pakken.
Dat ID haal je uit de $_POST op.
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 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.
- 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.



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...

Reageren