Beste allen,
Ik heb het volgende probleem. Ik heb een database met daarin personen staan. Deze personen kunnen ook specifieke eigenschappen hebben, naargelang het type persoon. Dat betekent dus dat iedereen in de persoontabel staat, maar niet iedereen in de "lid"-tabel (bijvoorbeeld). Nu wil ik een verwijder functie maken, die ervoor zorgt dat zowel de informatie uit de persoon-tabel als uit de specifieke tabel gewist wordt. In dit geval is het vooral belangrijk dat het in eerste instantie werkt met de "lid"-tabel. De volgende mogelijkheden heb ik al geprobeerd:
Het vreemde is, zelfs als ik een vast ID neem werkt het verwijderen uit de persoon-tabel niet. Wel uit de lid-tabel. Ik zie ook door de bomen het bos niet meer dus zie syntax fouten af en toe ook niet meer. Verder is mijn php/sql-kennis zeer beperkt, maar zelfs met nazoeken op internet kom ik er echt niet uit. Sommige dingen zouden echt moeten werken, en dan krijg ik ook geen foutmelding, maar dan wordt er tóch niets verwijderd.
Mijn vraag: Hoe moet ik dit schrijven zodat het werkt?
/edit:
Het gaat er dus om dat de persoontabel een ID heeft, en dat de lid-tabel een ID_persoon heeft. Deze nummers corresponderen met elkaar en daardoor worden de gegevens aan elkaar gekoppeld. Maar als je dus een lid verwijderd, moet deze zowel uit de persoon tabel als uit de lid tabel verwijderd worden.
Ik heb het volgende probleem. Ik heb een database met daarin personen staan. Deze personen kunnen ook specifieke eigenschappen hebben, naargelang het type persoon. Dat betekent dus dat iedereen in de persoontabel staat, maar niet iedereen in de "lid"-tabel (bijvoorbeeld). Nu wil ik een verwijder functie maken, die ervoor zorgt dat zowel de informatie uit de persoon-tabel als uit de specifieke tabel gewist wordt. In dit geval is het vooral belangrijk dat het in eerste instantie werkt met de "lid"-tabel. De volgende mogelijkheden heb ik al geprobeerd:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| case "delete": //Poging 1: $id = $_GET['id']; mysql_query("DELETE FROM b_lid WHERE id_persoon='$id'") or die (mysql_error()); mysql_query("DELETE FROM b_persoon WHERE id='$id'") or die (mysql_error()); //Poging 2: $sql = 'DELETE FROM b_lid WHERE id_persoon='.$_GET['id']; mysql_query($sql); $sql2 = 'DELETE FROM b_persoon WHERE id='.$_GET['id']; mysql_query($sql2); //Poging 3: mysql_query("DELETE b_lid, b_persoon FROM b_lid, b_persoon WHERE b_lid.id_persoon=b_persoon.$id"); //Poging 4: mysql_query("DELETE FROM b_persoon, b_lid WHERE b_persoon.id = b_lid.persoon_id AND b_persoon.id"); //Poging 5 (dit werkt al helemaal niet, is ook een rare oplossing, maar wilde zoiets proberen): $lid = mysql_fetch_array($query, MYSQL_NUM); $sql = 'DELETE FROM b_lid WHERE id_persoon='.$lid[0]; mysql_query($sql) or die (mysql_error()); $sql2 = 'DELETE FROM b_persoon WHERE id='.$lid[0]; mysql_query($sql) or die (mysql_error()); //Poging 6 (werkt wel maar ja, dat is met een vast ID): $sql = 'DELETE FROM b_lid WHERE id_persoon=4454'; mysql_query($sql) or die (mysql_error()); //Poging 7: werkt ook niet mysql_query("DELETE id FROM b_lid WHERE id_persoon=".$lid[0]." LIMIT 1"); exit(); |
Het vreemde is, zelfs als ik een vast ID neem werkt het verwijderen uit de persoon-tabel niet. Wel uit de lid-tabel. Ik zie ook door de bomen het bos niet meer dus zie syntax fouten af en toe ook niet meer. Verder is mijn php/sql-kennis zeer beperkt, maar zelfs met nazoeken op internet kom ik er echt niet uit. Sommige dingen zouden echt moeten werken, en dan krijg ik ook geen foutmelding, maar dan wordt er tóch niets verwijderd.
Mijn vraag: Hoe moet ik dit schrijven zodat het werkt?
/edit:
Het gaat er dus om dat de persoontabel een ID heeft, en dat de lid-tabel een ID_persoon heeft. Deze nummers corresponderen met elkaar en daardoor worden de gegevens aan elkaar gekoppeld. Maar als je dus een lid verwijderd, moet deze zowel uit de persoon tabel als uit de lid tabel verwijderd worden.
[ Voor 6% gewijzigd door oli4100 op 22-10-2007 17:29 ]