![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 1.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jestem zaczynajacym uzytkowanikiem i razpoczynam dopiero programowac w Mysql
Musze napisac mała baze ofert pracy i mam problem z łaczenie tabel tabele takie: Pracodawcy|| ||Oferty_pracodawców|| Zawody || Wyksztalcenia W tablicy zawody i wykrztalcenia maja byc przykładowe wyksztalcenia a w tablicy oferty_pracodawców ma byc odowałoanie do tych tablic i własnie nie bardzo wiem jak to zrobic i . Jak połaczyc te tablice ia takze jak zrobic zeby zapomoca kwarendy zrobi wyszukiwanie tych ofert ze wszystkich pol jakiego połaczenia uzyc Przykładowae tablice [SQL] create table pracodawcy ( idpracodawcy int unsigned not null auto_increment primary key, firma , nazwisko ulica telefon miejscowosc wojew kod_poczt ); create table oferty_pracodawców ( idoferty_praco int unsigned not null auto_increment primary key, idpracodawcy int unsigned not null, wykrztalcenie zawod opis text, data date ); create table zawody ( idofert_praco int unsigned not null, zawod primary key ( zawod) ); create table wykrztalcenie ( idoferty_praco int unsigned not null, wykrztalcenie primary key ( wykrztalcenie) ); Stworzyłem taką baze ale nie bardzo mi to chodzi nie wiem czy dobrze ustawiłem klucze , i jak zrobic połaczenie tych tabel zeby w formularzy po wybraniu jakiegos rekordu zeby wyswietalało to co wybiore a nie wyrzucało wszystko naraz Z góry dziekuje za pomoc |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Dodaj jeszcze pole które bedzie UNIQUE. To po pierwsze.
Po drugie: najlepiej uzyj phpMyAdmina do stworzenia bazy. Jest to wygodniejsze. Poz tym wygeneruje ci kod, który możesz potem umieścić w pliku i stworzyć bazę na innym serwerze. To ułatwi sprawę. Po z tym, to czy ty masz problem z utworzeniem tej bazy, czy problem z wyciągnięciem z niej danych? jeśli z utworzeniem, to patrz wyżej, a jeśli z wyciągnieęciem, to też patrz wyżrj, bo to co napisałeś jest trochę nie tak - np. brak przecinków. Zreszta wklej mi cały skrypt, którym tworzysz bazę -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 1.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Troszczke zmieniłem tak wyglada ta baza checem tak zrobic zeby pozniej jak bedzie formularz to zeby mogl sobie pobrac dane z tabeli np Branze jakie bede chciał a niew pisywac
Jak powiazac te tabele Branza i wojewodztwa z oferty_pracodawcow zeby ja bede chcial zobczyc kto dal oferte jakos oferte to zeby mi wyswietlił woszystko z tabel ale nie wiem jak to zrobic ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 24.10.2004 Skąd: TG Ostrzeżenie: (0%) ![]() ![]() |
Chcesz pobrać z tabel marki samochodów i wypisać przypisane do nich modele w postaci:
Kod Audi: A6, A8, 100 BMW: 318, 750, Z3 Citroen: Berlingo, Xsara, C3 ROZWIĄZANIE Często jest tak, że w jednej tabeli trzymane są jakieś ogólne pojęcia, do których przypisane są dane szczegółowe z drugiej tabeli. Mogą to być tytułowe marki i modele samochów, gatunki i podgatunki zwierząt bądź roślin, nazwy i typy monitorów lub pralek do prania. Takich zależnośi jest wiele. Stwórzmy dwie tabele przechowujące dane o samochodach. Kod CREATE TABLE marki ( id INT NOT NULL PRIMARY KEY, nazwa VARCHAR(100) ); CREATE TABLE modele ( id INT NOT NULL PRIMARY KEY auto_increment, markaid INT NOT NULL, nazwa VARCHAR(100) ); INSERT INTO marki VALUES (1, "Audi"); INSERT INTO modele VALUES ("",1,"A6"); INSERT INTO modele VALUES ("",1,"A8"); INSERT INTO modele VALUES ("",1,"100"); INSERT INTO marki VALUES (2, "BMW"); INSERT INTO modele VALUES ("",2,"318"); INSERT INTO modele VALUES ("",2,"750"); INSERT INTO modele VALUES ("",2,"Z3"); INSERT INTO marki VALUES (3, "Citroen"); INSERT INTO modele VALUES ("",3,"Berlingo"); INSERT INTO modele VALUES ("",3,"Xsara"); INSERT INTO modele VALUES ("",3,"C3"); Nasze tabele prezentują się następująco: +----+---------+ | id | nazwa | +----+---------+ | 1 | Audi | | 2 | BMW | | 3 | Citroen | +----+---------+ +----+---------+----------+ | id | markaid | nazwa | +----+---------+----------+ | 1 | 1 | A6 | | 2 | 1 | A8 | | 3 | 1 | 100 | | 4 | 2 | 318 | | 5 | 2 | 750 | | 6 | 2 | Z3 | | 7 | 3 | Berlingo | | 8 | 3 | Xsara | | 9 | 3 | C3 | +----+---------+----------+ Pozostaje pytanie, jak pobrać z nich dane i wypisać w liniach tekstu poszczególne modele związane z markami. Oto odpowiedź:
Na początku łączymy się z bazą danych i pobieramy zawartość tabeli marki. Na jej podstawie możemy określić ile jest marek i pobrać numer id przypisany do każdej z marek. Mamy też nazwę marki, którą od razu możemy wypisać na ekran. Teraz w pętli, na podstawie numerów id kolejnych marek pobieramy wszystkie rekordy z tabeli modele, a więc modele przypisane do marki za pomocą numeru id. Jeżeli modele występują, wypisujemy je na ekran. Dodatkowy warunek if sprawedza czy wypisywany jest ostatni element z modeli i nie dodaje za nim wtedy przecinka. To wszystko - mamy w jednej linii wypisane marki z modelami. Ten post edytował Fixer 8.03.2005, 19:07:27 -------------------- |
|
|
![]() ![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 1.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
dzieki sliczne przydało mi sie to bardzo
![]() Wracajac do mojej bazy zrobiłem jak napisales i działa ale mam problem jakie zapytanie trzeba zrobic zeby mi sie wyswietiła w tabeli oferta pracy danego pracodawcy plus kontak i miejscowosc oraz firma z tabel pracodawcy jesli ktos wie prosze mi pomoc z góry dziekuje |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
Oczywiscie nad tym popracowac jeszcze trzeba, zauwaz ze wybralem kolumnę, która normalnie nie istnieje w oferty_pracodawcow (kod_poczt) (tak przynajmniej robilem w MS ACCESS i działało) a jak nie, to zrob tam pracodawcy.kod_poczt Mozesz jeszcze dopisać warunki WHERE itd Pozdrawiam -------------------- The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1 MySQL Client API version : 5.0.27 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.06.2025 - 09:41 |