![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 29.07.2006 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Mam problem z zrobieniem prawdopodobnie prostej rzeczy. [STRUKTURA TABELI MySQL] Kod mysql> describe tb_wesele; +----------------+--------------+------+-----+---------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+-----------------------------+ | LP | tinyint(3) | NO | PRI | NULL | auto_increment | | Nazwa_prezentu | varchar(200) | YES | | NULL | | | Cena_prezentu | decimal(6,2) | YES | | NULL | | | Link_do_strony | varchar(250) | YES | | NULL | | | Czy_wybrany | tinytext | YES | | NULL | | | Kiedy_wybrany | timestamp | YES | | NULL | on update CURRENT_TIMESTAMP | +----------------+--------------+------+-----+---------+-----------------------------+ [IDEA] Możliwość wyboru wiersza (checkbox) jednokrotnie lub wielokrotnie (kilka wierszy) w formularzu HTML, generowanym za pomocą PHP, wyświetlającym zawartość tabeli MySQL oraz aktualizowanie tabeli MySQL po wyborze wiersza przez użytkownika. [Od strony użytkownika] Łopatologicznie: wchodzę na stronę, wybieram interesującą mnie pozycję (lub interesujące mnie pozycje) z tabeli, zahaczam "checkbox/y", klikam "Zapisz" i koniec. [Od strony serwera] Skrypt generuje listę pozycji do formularza za pomocą PHP/MySQL. Formularz zawiera tylko te pozycje, które w polu "Czy_wybrany" zawiera słowo "NIE".
Użytkownikowi pojawia się formularz z wyselekcjonowanymi wierszami oraz dodatkową kolumną, w której wstawiam <input type="checkbox">. Po wybraniu przez użytkownika pozycji, skrypt aktualizuje tabelę 'tb_wesele' zmieniając tylko pole "Czy_wybrany" z "NIE" na "TAK" oraz aktualizuje "TIMESTAMP" w polu "Kiedy_wybrany" dla pozycji zaznaczonych przez użytkownika. Ponieważ miałem dość długą pauzę w kodowaniu, wykładam się na podstawowych rzeczach: 1. Wszystko chcę obsłużyć "jednym plikiem" - tzn. operacje SELECT, UPDATE, wyświetlanie formularze miałyby odbywać się w jednym pliku index.php. 2. Chcę użyć metody POST dla formularza. Teraz moje wypociny: Używam osobnych pliczków do nagłówka i stopki (head.php oraz foot.php). Foot.php nie będę przytaczał, bo tam nic nie ma. head.php
index.php
Nie mam jeszcze napisanej części dot. UPDATE. [CO DZIAŁA?] 1. Połączenie do bazy i pobieranie wyselekcjonowanych danych do formularza [Z CZYM SOBIE NIE RADZĘ] 1. index.php - wiersze od 7 do 97. To są skrypty z jakichś starych moich prac, które starałem się przemianować. Niestety, zamiast iść w dobrym kierunku, to brnę we mgłę. 2. index.php - wiersz 140 - nie wiem jak to zrobić, aby formularz wiedział, którą pozycję (wcześniej wczytaną skryptem) wybrał użytkownik i aby ją przesłał (zaktualizował UPDATE) w bazie MySQL. Bardzo serdecznie proszę o pomoc. Moderatorów proszę o wyrozumiałość - po dłuższej przerwie, moja znajomość obraca się wokół Przedszkola, zatem w tej sekcji postanowiłem umieścić swoje "wypociny". Z pokorą przyjmę krytykę. Dziękuję, Jarek (zoomol) Ten post edytował zoomol 8.03.2014, 10:34:59 |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 29.07.2006 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
lukasz_os dzięki za podpowiedzi.
Po kolei: 1. odwołanie do tablicy, o którym napisałeś, zwraca mi wartość ZAWSZE tylko jednego checkbox'a. A ja czasami zaznaczam kilka, to zawsze wartość jest najniższego z wyświetlonej tabeli... Nie wiem, jak dobrać się do tych kolejnych... Jakąś pętlą? Jak wydobyć te kolejne zaznaczone checkbox'y z tablicy? czy wartość [0] w może być zmienną, dzięki której wyświetlę wszystkie kliknięte checkbox'y? 2. walidacja zaznaczonych checkbox'ów: poszperałem, popróbowałem i jednak stoję w miejscu... Znalazłem ten post, w którym chyba jest zawarte to, o czym piszesz. Dostosowałem kod pod siebie, ale niestety - nic to nie zmienia:
Działa to tak "piąte-przez-dziesiąte", mianowicie tak jak pisałem we wcześniejszym poście z podpunktami (a, b, c, d) - zachowanie identyczne... [Edit] Ad. 2 (Walidacja javascript): Znalazłem taki skrypt:
Super zadziałało. Problem na razie rozwiązany. Pozostaje Ad. 1 - czyli zaznaczenie więcej niż 1 checkbox'a (jak to wyświetlić?) HELP Ten post edytował zoomol 11.03.2014, 15:40:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 02:09 |