![]() |
![]() |
![]() ![]()
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 - no tak, dlaczego ja na to nie wpadłem! Masz 100% rację - zadziałało. A miałem to ustawione, bo wcześniej miałem problem z przeźroczystością - ale to już nieistotne, sprawa rozwiązana -ponownie dziękuję (IMG:style_emoticons/default/wink.gif)
Napadł mnie niestety jeszcze jeden problem. Otóż, przekazanie zaznaczonych ID do instrukcji SQL INSERT INTO. Z pozoru prosta sprawa - gdy prześlę formularz z zaznaczonymi min. 2 opcjami, zmienna $wybrane_prezenty=implode(',', $_POST['id']); przechowuje te wartości, np: 2,5. Mam takie zapytanie SQL: I tu problem, bo zaznaczając nie ważne ile pozycji, to zawsze tylko pierwsza jest "wkładana" do tabeli tb_wybrane. Jak to zrobić, aby ten ISERT wykonał się dla każdego zaznaczonego checkbox'a (dla każdego ID z tablicy)? Próbowałem jeszcze tak: ale nic z tego.... Ten post edytował zoomol 12.03.2014, 14:43:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 22:51 |