login  Naam:   Wachtwoord: 
Registreer je!
 Forum

makkelijk manier checkbox

Offline lau - 27/12/2006 18:54
Avatar van lauHTML interesse Ik heb mijn stukje code gepost waar het om ging:
http://www.plaatscode.be/3589/

Ik ben bezig met een rechtensysteem. Elk onderdeel in beheer kan dus per gebruiker worden ingesteld of hij wel of niet dat onderdeel mag beheren.
In mijn database staat het als volgt ingedeeld:

id | status | r11 | r12 | r21 | r22 | r23 etc...
--------------------------------------
1 gast NULL NULL NULL NULL NULL
2 co-beh 1 1 1 1 1

Zo moet het ongeveer worden. In de toekomst is het dus simpel meerdere rechten toe te voegen.

Maar nu mijn vraag... hoe kan ik simpel alle rechten langsgaan die aangevinkt zijn en deze ook allemaal naar 1 te zetten in de database. Als een recht niet is aangevinkt krijgt deze automatisch NULL.

Voorlopig had ik het zo gedaan:
  1. <?php
  2. if($_POST['recht11'] == 1) {
  3. mysql_query("INSERT INTO ".TBL_RECHTEN." (r11) VALUES (1)");
  4. }
  5. ?>

Maar dit is absoluut geen manier. Stel dat ik 50 rechten heb, dan moet ik 50 van zulke codes onder elkaar plakken en wijzigen.
Wie weet een snellere aanpak?

5 antwoorden

Gesponsorde links
Offline Stefan14 - 27/12/2006 18:57
Avatar van Stefan14 PHP gevorderde je moet gewoon een aparte tabel met per record een recht maken.

Daarna kun je aan de hand van het ophalen van de record je checkboxen maken. Dus in je while gewoon een checkbox bij ieder record zetten.

Gewoon een kwestie van je database logisch opbouwen, want met al die kolommen is gewoon harstikke verkeerd.
Offline Ultimatum - 27/12/2006 19:00 (laatste wijziging 27/12/2006 19:00)
Avatar van Ultimatum PHP expert Een extra tabel waarin elke recht een nieuwe record word en dan kan je daar wil makkelijk een 1 of 0 voor wel of niet beheerder bij gooien

edit zie hierboven ook dus 
Offline lau - 27/12/2006 19:07
Avatar van lau HTML interesse Huh... snap het niet echt.
De gebruiker wordt al gesplitst in een andere tabel. Het is nu toch gewoon een kwestie van rechten aanvinken en een naam toekennen.
Offline Ultimatum - 27/12/2006 19:14 (laatste wijziging 27/12/2006 19:15)
Avatar van Ultimatum PHP expert ja maar stel, dat je 25 rechten heb dan heb je dus ook 25 velden in je tabel

als je het doet zoals stefan en ik bedoelen heb je 3 velden genaamd id, userid, rechten en dan kan je per recht een record aan maken en heb je dus 25 records ipv 25 velden in je tabel

want stel dat je over een jaar weer 10 rechten erbij moet, moet je weer je tabelvelden aanpassen en anders alleen 10 records invoegen
Offline lau - 27/12/2006 19:22
Avatar van lau HTML interesse Je bedoelt met velden = kolommen? Zo ja, dan heb ik inderdaad nu bijvoorbeeld voor 35 rechten nu 25 velden + id + statusnaam.

Ik kan jullie methode niet visualiseren op de 1 of andere manier. Kan je het uittekenen met een database?
Userid hoort er toch niet bij? Ik wilde namelijk bij mijn methode een rechtid toekennen aan de gebruikers, dus stel dat Jan co-beheerder zou zijn, dan kreeg hij in zijn tabel onder veld rechtid een 2 (zie post 1 voorbeeld). Andere gebruikers die zeg maar gast zijn zonder rechten krijgt onder veld rechtid een 1.

STel dat ik 10 rechten bij wil hebben, dan had ik het zo gedaan met mijn methode. 10 rechten toevoegen aan het eind van de tabel en alles staat nu ingesteld als NULL.

Maar wil jullie methode gebruiken als ik het doorheb hoe het werkt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.179s