![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 26.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Chciałbym, mieć możliwośc usuwania kilku rekordów "za jednym zamachem" przy pomocy pól checkbox. Ogónie strona składa się z dwóch części: 1. usuwanie pojedynczego rekorku 2. usuwanie kilku rekordów Pierwsza część działa dobrze, natomiast z drugą mam problem. Najpierw użytkownik wyszukuje rekordy (wybiera kierunek i semestr -> wyszukiwany jest numer grupy -> nr grupy zapisywany jest do tablicy -> pobrany z tablicy nr grupy jest wykorzystywany do wyszukiwania rekordów), wyświetla się tableka z wynikiem szukania, gdzie przy każdym rekordzie jest checkbox. Użytkownik zaznacza wybrane, klika "Usuń wszystkie" i ... nie działa
Gdzie popełniam błąd? Pozdrawiam... P.S. Dlaczego przy pierwszym wejściu na stronę dostaję błąd "Nie można zapisać wyniku w tabeli lub nie znaleziono żadnych studentów"? Taki sam błąd otrzymuję, gdy chcę usunąć kilka rekordów... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tak, kolumna to osoba_id, jest pierwszą kolumną w tabeli. No to masz odpowiedź w moim pierwszym poście. Powtórzę na wszelki wypadek tworzysz tablicę w której kluczami są liczby (mysql_fetch_array()) a odwołujesz się do ciągu znaków ('0') dlatego to nie będzie działać (na końcu mojego pierwszego postu masz poprawny kod):
Teraz ten kod:
Podstawowy banalny błąd. Uruchamiasz skrypt za pierwszym razem to przecież zmienne $_POST['kierunek'] i $_POST['semestr'] nie są ustawione bo jeszcze nie wysłałeś formularza. Jak zapytanie ma zadziałać skoro budujesz je na tych właśnie zmiennych? Na końcu przy usuwaniu rekordów najpierw sprawdzasz czy zmienne istnieją - i dobrze. Tutaj zastosuj podobne podejście. Ustaw w php.ini error_repoting = E_ALL, będziesz widział wszystkie błędy i ostrzeżenia parsera (a ten kod który napisałeś da właśnie ostrzeżenie). Położenie php.ini szukaj na forum, lub google. Cytat Czyli rozumiem, że najpierw zaznaczone checkbox'y mają zostać przesłane do tablicy, później mam stworzyć string z tablicy, w którym będą wymienione id (nazwy checkbox'ów) po przecinku, a później usunąć? Tak, ja bym starał się tak to zrobić żeby ograniczyć niepotrzebne zapytania, ale jeśli na razie nie chcesz kobinować to zostań przy starym sposobie. I zapamiętaj tą strukturę. Ten kod prześle (po zatwierdzeniu formularza) do skryptu tablicę numeryczną (klucze są liczbami od 0 wzyż):
natomiast to stworzy tablicę asocjacyjną w której klucze bedą nazwami:
Ad. 1) Tak. Odwołujesz się do atrybutu "name" elementu formularza i w tym przypadku dostajesz tablicę w której klucze są liczbami (od 0 wzwyż) a elementy wartościami wpisanymi w value="wartość". Ad. 2) Tak. O coś takiego mi chodziło. Przetestuj sobie najpierw (echo $zapytanie) czy dostajesz dobrą listę elementów zanim zaczniesz robić zapytania. Ok. To chyba już wszystko. PS Nie przejmuj się tak, chyba chcesz żeby się czegoś nauczyć, nie? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) I pamiętaj o szukaniu (google, forum, manual php, manual mysql), naprawdę dużo samemu mozna znaleźć. No, a teraz kombinuj żeby to działało (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował ziqzaq 29.12.2008, 09:18:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 11:53 |