Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] checkboxy wysylanie do mysql
andypl
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.07.2007

Ostrzeżenie: (0%)
-----


Witam

Robie sobie skrypcik, ktory aktualizuje mi jakies uprawnienia do stronki. Dane sa pobierane z bazy i przekazywane do formularza z checkboxami gdzie moge ustawic wlaczony lub wylaczony i dalej chce przekazac za pomoca tego formularza do bazy by je zaktualizowac.
Tabela jest aktualizowana tzn. dodawany jest jakis dzial_x wiec statyczne wrzucanie do bazy odpada bo jutro moze byc dodatkowo dzial_4 i dzial_5

Ponizej przedstawiam strukturke bazy ... prosilbym o podpowiedz lub uzupelnienie updejta do bazy.
  1. +----------+--------+------+-----+---------+----------------+
  2. | FIELD | Type | NULL | KEY | DEFAULT | Extra |
  3. +----------+--------+------+-----+---------+----------------+
  4. | id_u | int(1) | NO | PRI | NULL | AUTO_INCREMENT |
  5. | user_id | int(1) | YES | | NULL | |
  6. | dzial_1 | int(1) | NO | | 0 | |
  7. | dzial_2 | int(1) | NO | | 0 | |
  8. | dzial_3 | int(1) | NO | | 0 | |


tutaj kodzik generujacy formularz:

  1. <?
  2. $zapytanie = "SELECT `id_p`, `opis_p` FROM `tb_pane` WHERE `number_p` < '5' " ;
  3. $wynik = @DBzapytanie($zapytanie);
  4. while ($dzialy = @DBtablicaasoc($wynik)) {
  5. $nr_dzialu = $dzialy['id_p'];
  6. $opis_dzialu = $dzialy['opis_p'];
  7. $zapytanie2 = "SELECT `dzial_".$nr_dzialu."` FROM `tb_uprawnienia` WHERE `user_id` = ".$wybor_switch2." LIMIT 1" ;
  8. $wynik2 = @DBzapytanie($zapytanie2);
  9. while ($row = @DBtablicaarray($wynik2)) {
  10. $cos = $row[0];
  11. ?>
  12. <br/>
  13. <label><?= $opis_dzialu ?>:</label>
  14. <input type="checkbox" name="dzial[<?= $nr_dzialu ?>]" <? if ($cos == '1') { echo "checked="checked"";} ?>/>
  15. <? } } ?>
  16. <br/>
  17. <input type="hidden" name="uprawnienia_user" value="1">
  18. <input type="hidden" name="jaki_user" value="<?= $wybor_switch2; ?>">
  19. <br/>
  20. <div align="right" style="clear:both;">
  21. <input type="submit" name="B1" value=" Zapisz " class="button">
  22. </div>


Ten post edytował andypl 29.07.2007, 21:24:56
Go to the top of the page
+Quote Post
Koshin
post
Post #2





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 29.04.2002
Skąd: jesteś?

Ostrzeżenie: (0%)
-----


nie zapisuj dostępu do każdego działu w jednym rekordzie, bo za każdym razem, będziesz musiał zmieniać strukturę tabeli (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Dwa rozwiązania:

1) zapisywać w jednej komórce tabeli dostęp do działów w schemacie dwójkowym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (wiem, hardcore) 11010101 (1 ma dostęp, 0 nie ma dostępu) dokładasz dział - dokładasz uprawnienie na końcu, usuwasz dział, musisz wtedy rekordy przeskoczyć wszystkie i usunąć z ciągu jeden znak odpowiadający danemu działowi

2)zapisywać każdy dział i każdego użytkownika oddzielnie np.:
tablica:
user,dzial
1,1
1,2
1,4

- dostep usera 1 do działów 1,2 i 4
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:04