Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Wyciągnięcie paru rekordów w jednym
SzymonNegle
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 27.12.2008

Ostrzeżenie: (0%)
-----


Mam bazę pracownikow którzy obslugują parę miejscowośi. np. Jan Nowak obsługuje Poznań, Warszawe i Białystok i nie umiem tego pokazac:( Mam taką bazę:

  1. CREATE TABLE PRACOWNIK(
  2. IDPracownika int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. Nazwachar(500) NOT NULL
  4. );
  5. CREATE TABLE MIASTA(
  6. IDMiasta int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  7. NazwaMiasta char(50) NOT NULL
  8. );
  9. CREATE TABLE MIASTO_PRACOWNIK (
  10. IDMia_Pra int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  11. MPmiasto int NOT NULL,
  12. MPpracownik int NOT NULL
  13. );


w tabeli MIASTO_PRACOWNIK przechowuje połączenia między pracwonikiem a miastem. Aby to wyświetlic zrobiłem coś takiego:

  1. <?php
  2. $result=@mysql_query("SELECT NazwaPracownika FROM PRACOWNIK ");
  3.  
  4. while ($row = mysql_fetch_array($result)) {
  5.  
  6. echo '<td width="100">' .$row['NazwaPracownika'] . ' </td> ';
  7.  
  8. echo '<td>';
  9. $result_pra=@mysql_query("SELECT MIASTA.NazwaMiasta AS NazwaMiasta FROM MIASTA,  MIASTO_PRACOWNIK WHERE MIASTA.IDMiasta=MIASTO_PRACOWNIK.MPmiasto AND MIASTO_PRACOWNIK.P_Pracownik=3");
  10. while ($row1 = mysql_fetch_array($result_pra)) {
  11. echo ''.row1['NazwaMiasta']).''; 
  12. }
  13. echo '</td>';
  14.  
  15. }
  16. ?>


Każde z zapytań osobno pokazuje wzystko razem. Ale jak chce to połączyc zeby pokazywalo razem to nawet sie nie odpala strona:( A może tam trzeba zrobic jakieś podzapytanie. 

Umiał by to ktoś rozwiązac??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SzymonNegle
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 27.12.2008

Ostrzeżenie: (0%)
-----


Wielkie dzieki chłopaki!! Zrobiłem i dziala:) Jakby ktoś potrzebowal takiego rozwiązania to zapodaje kod:

  1. <?php
  2. $result=@mysql_query("SELECT IDPracownika, Nazwa FROM PRACOWNIK");
  3. while ($row = mysql_fetch_array($result))
  4.  {
  5.  echo '<td width="100"><b>'.$row['Nazwa'].'</b> <br></td>';
  6.  echo '<td>';
  7.  $IDpra = $row['IDPracownika'];
  8.  echo '<br>Zmianna pracownika ta z row ='.$row['IDPracownika'].'<br> natomiast zmienna z solarem równa sie '.$IDpra.'';
  9.  $result_pra=@mysql_query("SELECT MIASTA.NazwaMiasta AS NazwaMiasta 
  10.                            FROM  MIASTA, MIASTO_PRACOWNIK 
  11.                         WHERE MIASTA.IDMiasta=MIASTO_PRACOWNIK.MPmiasto 
  12.                               AND MIASTO_PRACOWNIK.MPpracownik=$IDpra");
  13. while ($row1 = mysql_fetch_array($result_pra))
  14.  {
  15.  echo '<td width="100"><br> - '.$row1['NazwaMiasta'].'<br></td>';
  16.  echo '<td>';
  17. }
  18.  echo '<br><br></td>';
  19. ?>


Wszytko ładnie śmiga i jest wynik taki jaki chciałem. Linie 9 dałem dla wyjaśnienia(mi takie wyświetlanie dużo pomaga więc go nie usuwalem, może nie jest to prof, ale mi jest lepiej to skumac:) ).

Jeszcze raz wielkie dzięki za pomoc!!



A może dalej pomożecie? Jak wyciągnąc wszystkich pracowników obslugujących np miasto Poznań? Dla ułatwienia podaje wypełnioną bazę:

  1. CREATE TABLE PRACOWNIK(
  2. IDPracownika int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. Nazwa char(500) NOT NULL
  4. );
  5. CREATE TABLE MIASTA(
  6. IDMiasta int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  7. NazwaMiasta char(50) NOT NULL
  8. );
  9. CREATE TABLE MIASTO_PRACOWNIK (
  10. IDMia_Pra int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  11. MPpracownik int NOT NULL,
  12. MPmiasto int NOT NULL
  13. );
  14. INSERT INTO PRACOWNIK VALUES 
  15.   ('','Kowalski');
  16. INSERT INTO PRACOWNIK VALUES 
  17.   ('','Nowak');
  18. INSERT INTO MIASTA VALUES 
  19.   ('','Poznan');
  20. INSERT INTO MIASTA VALUES 
  21.   ('','Warszawa');
  22. INSERT INTO MIASTA VALUES 
  23.   ('','Katowice');
  24. INSERT INTO MIASTA VALUES 
  25.   ('','Łódź');
  26. INSERT INTO MIASTO_PRACOWNIK VALUES 
  27.   ('','1','1');
  28. INSERT INTO MIASTO_PRACOWNIK VALUES 
  29.   ('','1','2');
  30. INSERT INTO MIASTO_PRACOWNIK VALUES 
  31.   ('','1','3');
  32. INSERT INTO MIASTO_PRACOWNIK VALUES 
  33.   ('','2','1');
  34. INSERT INTO MIASTO_PRACOWNIK VALUES 
  35.   ('','2','3');
  36. INSERT INTO MIASTO_PRACOWNIK VALUES 
  37.   ('','2','4');


Podpowie ktoś(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)  
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 23:47