record verwijderen uit database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Krisz Le

Krisz Le

22/01/2011 13:49:50
Quote Anchor link
Hallo,

Ik zit met het volgende probleem. Voor een admin-pagina wil ik dat alle gebruikers worden opgehaald en kunnen worden verwijderd.

Het ophalen doe ik met onderstaande code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
echo '<form action="'. $_SERVER['PHP_SELF'].' " method="post">';
foreach($arProfielen as $key => $row){
        $userid = $row['user_id'];
        $voorletters = $row['voorletters'];
        $tussenvoegsels = $row['tussenvoegsels'];
        $naam = $row['naam'];
        $email = $row['email'];
        $status = $row['status'];
        $rechten = $row['right_id'];
    
        echo "<tr><td>$voorletters</td>";
        echo "<td>$tussenvoegsels</td>";
        echo "<td>$naam</td>";
        echo "<td>$email</td>";
        echo "<td>$status</td>";
        echo "<td>$rechten</td>";
        echo '<td><input type="submit" name="verwijderknop" value="verwijder" class="button"></td></tr>';
    echo '</form>';


(Misschien dat ik geen foreach moet gebruiken? Ik weet het niet, ben maar beginner..)

Achter elke gebruiker heb ik dus een remove button. Als hierop gedrukt wordt, moet onderstaande code worden uitgevoerd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
if (isset($_POST["verwijderknop"])){
    mysql_query("DELETE FROM profielen WHERE user_id = $userid")or die (mysql_error());
    header ("Location: profielen.php");
    exit;
}


Het probleem is dat ik hiermee alleen het laatste record verwijder, in plaats van de persoon waar de button achter staat.

Er zal vast wel meer niet kloppen aan deze code, alle hulp is welkom. Bedankt
 
PHP hulp

PHP hulp

13/01/2025 03:33:48
 
- SanThe -

- SanThe -

22/01/2011 14:01:33
Quote Anchor link
Je kan in het formulier niet zien op welke submit er wordt gedrukt. Ze zijn allemaal hetzelfde. Je zal dus de submit het id mee moeten geven lijkt mij.
 
Krisz Le

Krisz Le

22/01/2011 15:12:07
Quote Anchor link
ik had onderstaand geprobeerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="submit" name="verwijderknop" value="verwijder" class="button" id="$userid">


Maar geeft hetzelfde effect :/
 
Joren de Wit

Joren de Wit

22/01/2011 15:18:20
Quote Anchor link
Je zult het id mee moeten geven in de name van de submit knop. Het makkelijkst is dan om een array te gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="submit" name="verwijderknop[1]" value="verwijder" />

Hier stelt de 1 het id van de gebruiker voor.

Nadat het formulier verzonden is, kun je allereerst bekijken of $_POST['verwijderknop'] bestaat en vervolgens array_keys() gebruiken om het id te achterhalen (dat immers als key van de array 'verwijderknop' meegegeven is).
 
Ozzie PHP

Ozzie PHP

22/01/2011 15:28:10
Quote Anchor link
Als aanvulling. Het dubbel declareren van variabelen lijkt me niet handig:

$voorletters = $row['voorletters'];
echo "<tr><td>$voorletters</td>";

Bovenstaande is niet zinvol, gewoon:

echo "<tr><td>$row['voorletters']</td>";

(Dat geldt dus voor alle waarden in je foreach loop.)
 
- SanThe -

- SanThe -

22/01/2011 15:30:59
Quote Anchor link
Nog een aanvulling: Hou $vars buiten de quotes.
echo "<tr><td>$row['voorletters']</td>";

Wordt dan:
echo "<tr><td>" . $row['voorletters'] . "</td>";
 
Ozzie PHP

Ozzie PHP

22/01/2011 15:32:44
Quote Anchor link
Inderdaad.

Toevoeging op 22/01/2011 15:33:41:

En nog beter, enkele quotes:

echo '<tr><td>' . $row['voorletters'] . '</td>';
 
Krisz Le

Krisz Le

22/01/2011 16:08:20
Quote Anchor link
okay bedankt! Ga deze aanpassingen ook nog doorvoeren.. Mja ik deed het zo, omdat ik het zo geleerd heb op school, maar dit lijkt mij idd ook zinvoller..

Krijg die rotknop nog steeds niet aan de praat. Ik struin het internet nog wel even verder af op die array_keys() functie
 
Joren de Wit

Joren de Wit

22/01/2011 16:13:07
Quote Anchor link
De array_keys() functie heeft niets met de werking van die knop te maken, dat heeft alleen maar betrekking op de afhandeling van het formulier.

Tip: print de inhoud van de $_POST array eens als het formulier verzonden is, dan zie je wat er nu eigenlijk in zit...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<pre>'.print_r($_POST, true).'</pre>';
?>
 
- SanThe -

- SanThe -

22/01/2011 16:14:19
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.