Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Relacje z tablicami
Forum PHP.pl > Forum > Przedszkole
Lisciu
Witam,
mam problem natury prostej. Mam trzy tabele o następującej konstrukcji:

Tabela Ankieterzyw
  1. CREATE TABLE `informatyka`.`Ankieterzyw` (`Id` INT NOT NULL AUTO_INCREMENT, `id_ankietera` INT NOT NULL, `id_ankiety` INT NOT NULL, PRIMARY KEY (`Id`)) ENGINE = MyISAM


Tabela ankietowani
  1. CREATE TABLE IF NOT EXISTS `ankietowani` (
  2. `Id_ankietera` int(11) NOT NULL AUTO_INCREMENT,
  3. `Imie` varchar(50) NOT NULL,
  4. `Nazwisko` varchar(50) NOT NULL,
  5. PRIMARY KEY (`Id_ankietera`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;


Tabela moje
  1. CREATE TABLE IF NOT EXISTS `moje` (
  2. `Id_ankiety` int(10) NOT NULL AUTO_INCREMENT,
  3. `Telefon` int(9) NOT NULL,
  4. `Miejscowosc` varchar(30) NOT NULL,
  5. `Telefonmodl` int(2) NOT NULL,
  6. `siec` enum('Era','Orange','Plus','Play','Inna') NOT NULL,
  7. `telefonna` enum('Abonament','Mix','Karte') NOT NULL,
  8. `kosztop` enum('<25','25-50','50-100','100--200','wiecej') NOT NULL,
  9. `korzystam` SET('Gry','WWW','E-mail','MMS','GPS','Rozmowy','SMS','Inne') NOT NULL,
  10. PRIMARY KEY (`Id_ankiety`)
  11. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=180 ;


I problem polega na tym, że nie wiem jakim kodem, zapytaniem w php połączyć tabele 1 z 2 pozostałymi, żeby sama sobie pobierała dane typu ID_ankietera i przypisała mu do tabeli id_ankiety którą wypełnił i potem zwróciło mi kto ile ankiet wypełnił. Czy to jest do wykonania?
erix
  1. JOIN


Więcej nie napiszę, poszukaj, było wiele razy.
SzamanGN
Sprawdź takie zapytanie:
  1. SELECT b.`Imie`,b.`Nazwisko`,COUNT(c.`Id_ankiety`)
  2. FROM `Ankieterzyw` AS a,`ankietowani` AS b, `moje` AS c
  3. WHERE c.`Id_ankiety`=a.`id_ankiety` AND a.`id_ankietera`=b.`Id_ankietera`
  4. GROUP BY (a.`id_ankietera`)
Lisciu
zwraca mi pusty wynik zapytanie i nie bardzo wiem, po co te a,b,c ?. A co do tego czy było nie mogę znaleźć.
wookieb
Udajesz Debila czy nawet tego nie potrafisz?
http://www.google.pl/search?hl=pl&q=my...p;oq=mysql+join i PIERWSZY WYNIK!
Lisciu
miło mi masz klasę. Jak nie chcesz pomóc to daruj se takie uwagi.

Akurat jest po angielsku, więc ciężko jest czasami wyłapać kontekst zamysłu w języku informatycznym.

Inna sprawa, że zapytanie by wyjąć wyniki z dwóch tabel nie jest jakieś trudne. Ja mam problem raczej z tym by mi się do jednej tabeli te wyniki wpakowały poprzez wypełnianie formularza. Typu dodaje się gość i automatycznie jego id ląduję w tabeli, a także jego preferencję również.
erix
Cytat
Akurat jest po angielsku, więc ciężko jest czasami wyłapać kontekst zamysłu w języku informatycznym.

A google translate, czy babelfish nie ma? Radź sobie trochę - angielski, to ojczysty informatyki, więc skąd to zdziwienie...?

Cytat
Ja mam problem raczej z tym by mi się do jednej tabeli te wyniki wpakowały poprzez wypełnianie formularza.

To chcesz w końcu wyciągać, czy dodać?
wookieb
K**** szczyt głupoty. A WŁĄCZYĆ POLSKICH WYNIKÓW TEŻ NIE POTRAFISZ?questionmark.gif
http://www.google.pl/search?hl=pl&q=my...&lr=lang_pl
Dopisałem ci KURS bo byś pewnie, też na to nie wpadł..


BA Nawet nie wiesz jak bardzo ci POMAGAM.
Lisciu
nie ważne, po prostu arogancja osoby wyżej mnie zdenerwowała.

Więc tak chodzi o to, że wiem jak łączyć dane, ale problem polega na tym, że tabela z id, id ankietera, id ankiet jest pusta. I chciałbym, żeby się uzupełniała na podstawie tego co się dodaję do innych tabel czyli jakby wyciągąć id ankiety i odpowiednie do niej id ankietera z 2 tabel pozostałych. I wciągnąć to do tej. Tylko nie wiem jak to zrobić
erix
Cytat
nie ważne, po prostu arogancja osoby wyżej mnie zdenerwowała.

Lenistwo osoby wyżej jest na pewno powodem tej arogancji...

Opisuj konkretnie problem, a nie teraz się dowiadujemy, że chcesz uzupełnić NIE ISTNIEJĄCE jeszcze dane.

Pozostaje chyba tylko trigger...
Lisciu
czyli inaczej po ludzku się nie da?

i inaczej mówiąc, żeby były jakieś relacje to tabele muszą być już wcześniej uzupełnione?
erix
Cytat
i inaczej mówiąc, żeby były jakieś relacje to tabele muszą być już wcześniej uzupełnione?

Właśnie.

Cytat
czyli inaczej po ludzku się nie da?

Jest po ludzku pod warunkiem, że rozmówca posiada jakiekolwiek podstawy opanowane.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.