![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
hej otóż mam taki problemik mam już zrobioną bazę danych wszystkie wartości są ładnie wyświetlane z kilku tabel no ale teraz chciałbym również móc dodać dane poprzez jeden formularz do kilku tabel. Jak to można zrobic. Wczesniej z funkcją join sie nie bawiłem wiec proszę o wyrozumiałość jestem poczatkujący (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował pikasso 28.07.2008, 21:55:44 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Robisz osobne zapytania do każdej z tabel i tyle... JOIN nie ma tu nic do rzeczy...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 2 Dołączył: 9.07.2008 Skąd: Zduńska Wola/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
join i jego "odmiany" (natural join, left outer join, itd.) służą do łączenia tabel w celu wyciągnięcia z nich potrzebnych danych lub odpowiedniego wyselekcjonowania. Przy wpisywaniu danych do tabel lub ich uaktualnianiu tworzy się oddzielne zapytania dla każdej tabeli. Join może się tu przydać w przypadku uaktualniania danych ale tylko w podzapytaniu służącym do wyselekcjonowania odpowiedniego wiersza/wierszy. Nie wkłada się danych do kilku tabel na raz.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ok zrobiłem najpierw insert do jednej tabeli ale nic mi nie dodaje po prostu wyskakuje cały czas że nie zostały wypelnione wszystkie pola nie wiem o co chodzi...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 13 Dołączył: 20.03.2007 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Reszta do sprawdzenia w analogiczny sposob, chyba ze wlaczysz sobie na serwerze opcje register_globals (NIE ZALECANE, NIE STOSOWAC (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !), to bedziesz mogl korzystac ze swojego kodu. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ok troszkę zmieniłem i pomogło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
ale teraz kolejne pytanie
jak zrpbić aby Telefon_idTelefon=idKlient bo w tym wypadku idklient jest poprawne ale zeby Telefon_idTelefon było równe tamtej wartości (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jak sie uporam z tym to przejde do kolejnej zagadki której też nie potrafie rozwikłać |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
A jakim celu chcesz mieć 2 pola o takiej samej zawartości...?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
już odpowiadam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) bo gdy wyświetlam klienta to jego id jest zawsze takie same jak id telefonu no może źle robię no ale nie wiem jak inaczej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
przykladowo w mysql mam takie inserty
i teraz mam taki problem bo w bazie mam już jakieś tam miejscowości i są im przypisane jakieś id i teraz nie wiem co zrobić żeby po wpisaniu dla klienta np Warszawa nie powtarzało się to w miejscowościach i będe mial dwie warszawy o rożnych ID tylko przypisało jej poprzednie Id no chyba że źle rozumuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował pikasso 29.07.2008, 09:16:50 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 35 Dołączył: 18.07.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Z tego co widzę to trochę bazę danych zawaliłeś. Przecież może być kilka telefonów do jednego klienta? Więc na Twoim miejscu zmienił bym tabelę telefony bo pewnie taką masz skoro korzystasz z id_telefon? I poczytał trochę o postaciach normalnych bazy danych. To pierwsza uwaga. Druga jest taka: najpierw wrzucił bym do tabeli pustego klienta lub tez wpisał wszystkie dane bez wrzucania id telefonu. Potem zrobił bym update do tabeli klienta gdzie id klienta jest to id ostatnio dodanego klienta. Trzecia uwaga jeśli kli_ID jest autoincrement to nie dawaj mu nulla po prostu pomiń pole. Co do normalizacji bazy danych możesz poczytać tu: http://pl.wikipedia.org/wiki/Normalizacja_bazy_danych
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dalej nie rozumiem no ale dobra...
no to nie możesz przy wyświetlaniu użyć jednej zmiennej dwa razy...? to co ty chcesz zrobić jest wbrew normalizacji... |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy moja baza aż tak źle wygląda oto kod
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 35 Dołączył: 18.07.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
To pole z tabeli klient wywal:
Telefon_idTelefon INT UNSIGNED NOT NULL, stwórz nową tabele nie wiem np TelefonyPrzypisane gdzie będzie TP_IDTelefon oraz TP_IDKlientFirma kluczem głównym będą oba te pola. I wtedy będzie łatwiej z telefonami. I jak dodajesz klienta to do tabeli klient i potem uzupełniasz telefony a przy wyświetlaniu już tylko left join o gotowe |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A mógłbyś mi to rozpisać dokładniej bo nie wiem czy usuwać tez z tej tabeli
no i czy tabelę firma zmodyfikować tak samo i dodać do tej nowo utworzonej tabeli (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 35 Dołączył: 18.07.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Tak usuwać indeksy i referencje (niepotrzebne są). Tabela firma tak samo modyfikowana czyli też usuwanie wszystkiego co się tyczy id_telefon.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
czy z tabeli miasto też mam usunąć numer kierunkowy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
W tabeli telefon dałbym idKlienta wtedy jeden klient może zapisać kilka numerów telefonu, w tabeli miasto dałbym KodPocztowy co do kierunkowego to bym usunął i dał możliwość klientowi dodania tego podczas wpisywania numeru i tak każdy jak wpisuje numer to podaje kierunkowy (moim zdaniem) i jeżeli chodzi o tabele firmy to dodałbym tabele branże wtedy i w tabeli firmy zamiast branża dał id_branzy ( z tabeli branze) generalnie jeżeli to ma być jakiś poważny projekt to cała baza jest do zmiany przy okazji warto zapoznać się z kilkoma aspektami budowy baz danych (atomowość danych itp.) odsyłam do google, jeżeli chcesz robić coś amatorsko to od biedy może być ale możesz nauczyć się złych nawyków
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
czy poważny projekt hmmm to jest do pracy inżynierskiej a ja z tym nie miałem styczności bo siedzę w grafice 3d. a temat pracy to porównanie php i mysql z asp .net i mssql server na podstawie książki telefonicznej. Więc dopiero zaczynam się tym bawić no ale jakby jakaś dobra dusza pomogła mi w poprawieniu tej bazy to byłbym bardzo wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
A jakie są założenia tego projektu? jeden klient - jeden numer?
ogólnie jak sobie widzisz że to działa? masz jakiś projekt ? może będę mógł pomóc w miarę moich skromnych możliwości Ten post edytował f1xer 29.07.2008, 10:55:44 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 8.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
założenia są takie ze jeden klient jeden numer / jedno miasto ma kilka kodów pocztowych dlatego kod poczt przypisany do klienta / w bazie mam do wyboru klienta indywidualnego oraz firmę no i podział firmy na branże / numery alarmowe
no i to chyba tyle tego będzie Tutaj zamieszczam cały projekt co do tej pory zrobiłem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) http://rapidshare.com/files/133284444/TSTEL.rar.html a tutaj są inserty w notatniku http://rapidshare.com/files/133287817/BAZA..._FIRMA.txt.html generalnie chciałby aby to tak wyglądało no i tu już jest wszystko zawarte tylko troche nie dziala tak jak powinno no ale zawsze coś jak na początkującego webmastera (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) hasło do panelu administratora to root i login taki sam. tam gdzie jest zakładka cała książka chciałbym aby nie było scrolla ale żeby było stronicowanie np co 10 wyników albo żeby pokazywało alfabetycznie po literkach tak jak mam to w firmach Ten post edytował pikasso 29.07.2008, 11:18:43 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 35 Dołączył: 18.07.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Właśnie napisz jakie dane maja być przechowywane ale w punktach jak ta baza ma wyglądać nie na tabelach a w punktach. To coś się wymyśli.
Opis powyżej bardzo skromny trochę go rozszerz. Ten post edytował webasek 29.07.2008, 10:58:55 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:40 |