![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Nie do końca wiedziałem jaki tytuł wybrać, ale postaram się opisać mój problem. Potrzebuje wykonać małą, prostą aplikacje do zarządzania biblioteką - proste funkcje. Nie poradziłem sobie z wypożyczaniem książki. Sytuacja wygląda tak: w bazie danych mam 3 tabele: czytelnicy(id,imie,nazwisko,pesel), ksiazki (id,tytul,autor) i wypozyczenia(id_wyp,id_ksiazki i id_czytelnika) - wszystko jest ze sobą połączone i działa poprawnie(przez phpmyadmina wpisałem przykładowe wypożyczenia i działa). W aplikacji mam dwie listy rozwijane, które pobierają dane z moich tabel oraz pola typu radio. Przykładowo: z listy wybieram Jana Kowalskiego i Pana Tadeusza, zaznaczam opcje wypożycz no i zatwierdzam - książka powinna być wypożyczona, ale nie wiem(albo nie umiem tego zrobić bo szukałem sporo w internecie) połączyć czytelnika i książki z wypożyczeniem. Pokaże prawie cały kod, to będzie chyba najprosciej:
Możliwe, że coś w końcu namieszałem bo troszke zmieniałem kod szukając rozwiązania. Liczę na wasze wskazówki:) Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A wiec...
1) po co Ci w 17. linijce value='' ? Przeciez Twoje value ma byc pobrane z listy rozwijanej, tj. ID 2) dlaczego w 79. linijce wstawias ID, ID_CZYTELNIKA, ID_KSIAZKI zamiast ID, ID_KSIAZKI, ID_CZYTELNIKA? Wyzej podales inna kolejnosc kolumn 3) co robia linijki 25. - 37.? 4) nigdy nie uzywalem $_SERVER['REQUEST_METHOD'] == 'POST', co najwyzej:
Ale nie neguje Twojego rozwiazania, po prostu nie wiem jak sie zachowuje 5) Dlaczego dolaczasz LEFT JOINem tabele czytelnikow i wypozyczen? A co jesli 1 czytelnik ma wiele wypozyczen? Wtedy jest relacja 1-do-wiele i potrzebny jest RIGHT JOIN. Natomiast jesli chodzi o tabele ksiazki... to... tak - LEFT JOIN, zgadza sie. Dolaczasz do tabeli wypozyczenia, bo w 1 wypozyczeniu masz 1 ksiazke, czyli relacja 1-do-1. Chociaz niektorzy powiedza, ze w 1 wypozyczeniu mozna miec kilka ksiazek, ale z tego co zrozumialem, Twoja aplikacja pozwala na wypozyczenie 1 ksiazki, a potem ewentualnie powrot do poprzedniej strony i wypozyczenie na tego samego uzytkownika innej pozycji. ALE kazda taka operacja traktowana jest w bazie jako osobny wpis/rekord. W JOIN'ach moglem sie pomylic, gdyz pisze ten post na szybko (IMG:style_emoticons/default/wink.gif) Najlepiej bedzie jesli otworzysz phpMyAdmin'a, otworzysz okienko zapytania i poprobujesz tak, zeby Ci ladna tabelka wyszla ze wszystkimi danymi jakich sobie zyczysz. Przy RIGHT JOIN, o ile mnie pamiec nie zawodzi, sa powtorzenia rekordow i wtedy przydaje sie polecenie GROUP BY. W kazdym razie jak wyjdzie Ci wszystko w okienku zapytania to juz polowa sukcesu (IMG:style_emoticons/default/smile.gif) 6) w celach porzadkowych: konstrukcje takie jak... ...mozesz z powodzeniem zastapic...
Powodzenia (IMG:style_emoticons/default/smile.gif) Ten post edytował Kaloryfer 3.11.2011, 02:05:28 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za zainteresowanie. Zastosowałem się do wskazówek, ale w dalszym ciągu nie rozwiązuje to mojego problemu. Przy wybraniu opcji wypożycz, wypożyczenie nie zostaje dodane do tabeli wypozyczenia.
Reszta kodu, trochę zmieniłem, według wskazówek:
Ten post edytował mihal 3.11.2011, 09:21:59 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie wnikam w kod, nie czytam tematu (bo za długi (IMG:style_emoticons/default/wink.gif) ) ale sam chyba przyznasz, że takie coś:
<select name = ksiazka value=''></option> to delikatnie rzecz mówiąc jest źle (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1) To chcesz powiedziec, ze nic nie dodaje do tabeli? Zadnego rekordu, nawet z brakujacymi danymi? A nie masz bledu w zapytaniu? Zobacz sobie or die i mysl_error()
2) <br /> a nie </br> (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie, nie dodaje rekordu do tabeli wypożyczenia. Mogłem od początku o tym mówić - może byłoby prościej ale wydaje mi się, że błąd jest tutaj:
Czy to faktycznie pobiera z listy rozwijanej tytuł książki i czytelnika... Zmieniłem tak jak pisałeś na
i dalej nic się nie wyświetla ani nic się nie dodaje. Nie ma błędu w zapytaniu. Pozdrawiam |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
coś takiego: ?
W takim wypadku w miejscu wyniku wyświetla: Array ( [button] => wypozyczenie [Wykonaj] => Wykonaj ) Wybrano: |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przecież selecty z opcjami robisz poza formularzem... weź się zapoznaj wpierw z podstawami obsługi formularzy, a potem bierz się za coś trudniejszego.
I dodatkowo zapoznaj się z tematem: Temat: Jak poprawnie zada pytanie |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
no to masz odpowiedź, w tablicy POST nie ma wybranych wartości z selectów. Usunąłeś, jak pisal nospor, zbędne </option>?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
tak, usunąłem, teraz kod wygląda tak :
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
nadal selecty masz poza formem
|
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zacznij czytać co się do Ciebie pisze: napisałem ci wyraźnie: masz pola SELECT poza formem, wiec nic dziwngo ze ci nie działa.
To juz drugi raz w tym temacie jak ignorujesz co ci piszę. Nie wiem, może jesteś na mnie uczulony. Nie wnikam. Ale jak jeszcze raz będziesz tak to olewać, to zamknę temat. Skoro ty jestes na mnie uczulony to i ja ci nie będę dłużny (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 2.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
nie działa. coś źle robię ? |
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przedszkole przedszkolem, ale zacytuje ci moj poprzedni tekst:
Cytat weź się zapoznaj wpierw z podstawami obsługi formularzy i zamknę temat. Wybacz, ale podstawy z obsługi formularzy naprawdę mógłbyś wpierw sam opanować. Na tym forum wymagamy odrobiny wkładu własnego, a znajomość podstaw obsługi formularzy do takiego "wkładu" się zalicza |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 07:00 |