Verwijder gegevens uit database aan de hand van checkbox

  • Beste lezer,


    Momenteel ben ik bezig met een website, waarvoor het nodig is, dat bepaalde gegevens uit een database worden verwijderd, indien de gebruiker klikt op een knop. Nou wil ik graag dat de gebruiker zelf kan kiezen welke gegevens hij/zij wilt verwijderen en dat wil ik graag doen aan de hand van checkboxes. Dus als er op de knop gedrukt word, dan verwijderd het script automatische alle records die aangevinkt zijn.


    Mijn vraag is hoe ik dat het beste kan doen.Ik heb al op Google gekeken, echter werd ik daar niet echt wijzer van.


    Alvast bedankt voor de moeite!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Bedoel je hoe je nu dat ui de database kan verwijderen of aan de hand van wat de gebruiker heeft geselecteerd?


    Je geeft elke checkbox een waarde mee en controleert of er iets is met die waarde.
    Is alles in orde dan maak je een query aan(neem aan niet zo moeilijk) en je gaat met bijvoorbeeld $_POST['waarde'] of bijvoorbeeld $aWaarde het verwijderen.

  • Bedoel je hoe je nu dat ui de database kan verwijderen of aan de hand van wat de gebruiker heeft geselecteerd?


    Je geeft elke checkbox een waarde mee en controleert of er iets is met die waarde.
    Is alles in orde dan maak je een query aan(neem aan niet zo moeilijk) en je gaat met bijvoorbeeld $_POST['waarde'] of bijvoorbeeld $aWaarde het verwijderen.


    Ja dat snap ik, het enige probleem is dat het aantal opties wat de gebruiker kan kiezen steeds verschillende is. Daardoor kan ik dus geen namen waardes geven aan de checkbox.

  • je $_POST van je checkboxxen imploden:


    PHP
    $implode = implode(',', $_POST['checkbox']);
    mysql_query('DELETE FROM table WHERE id IN ("' . $implode . '")');


    Bedankt voor uw antwoord! Vervolgens nog enkel een checkbox maken, toch?


    PHP
    <input type="checkbox" name="checkbox[]" />

  • Met een form erom heen yes de [] is daarin aardig cruciaal wil je een goede output hebben maar zodra je dat hebt (En je form method is POST natuurlijk) kan je bovenstaande php gebruiken om je resultaat te krijgen die je wilt.


    Dus zo zou het moeten werken?


    PHP
    if (isset($_POST['del_submit'])){
    	$implode = implode(',', $_POST['checkbox']);
    	mysql_query('DELETE FROM berichten WHERE id IN ("' . $implode . '")');
    }
    
    
    <form method="post">
    											<input type="checkbox" name="checkbox[]" value="checkbox[]" />
    <input type="submit" name="del_submit" value="Verwijder berichten" />

  • Je moet als value in de input wel je id meegeven anders gaat het niet echt lukken :)


    Bedankt voor uw reactie. Ik heb het op deze manier gedaan, echter werkt dat nog steeds niet.


    PHP
    <input type="checkbox" name="checkbox[]" value="'.$a['id'].'" />


    Hierin geeft $a[íd'] het id van het specefieke bericht.

  • Dit is de gehele code:


  • Regel 1 t/m 5 is PHP en geen HTML, dat is dus al fout nummer 1.


    Geef de var_dump resultaat eens op $a


    PHP
    echo '<pre>'; var_dump($a); echo '</pre>';


    En zet je debugging even aan en kijk wat die returned


    PHP
    ini_set("display_errors",1); //Overschrijf php.ini waarde
    error_reporting(E_ALL);     //Alle foutmeldingen tonen

  • Dit geeft alle informatie weer over de query's. Het zijn bijna allemaal de zelfde berichten



    De error reporting geeft geen informatie weer.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!