Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Pobieranie danych z 3 tabel i porównanie ich wartości
qweluke
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 25.03.2010
Skąd: Radom

Ostrzeżenie: (10%)
X----


Witam,


Mam 3 tabele
xxx, yyy i zzz.

Zapytaniem
  1. SELECT * FROM `xxx`, `yyy`WHERE xxx.id_uzytkownika=yyy.id

Pobieram potrzebne dla mnie wartości z tabeli xxx i yyy.

Teraz zawartość tabeli yyy muszę porównać z zawartością tabeli zzz natomiast nie wiem jak to zrobić ponieważ musi to być podczas wyświetlania zawartości tabeli yyy którą wyświetlam w następujący sposób

  1. while($rek = mysql_fetch_array($idzapytania)) {
  2. $totalHtml .= '
  3. <tr><td class="userlist">'.$rek[imie].'<br/>'.$rek[nazwisko].'</td>';
  4.  
  5. for ($i=1; $i <=$NumberOfDays; $i++) {
  6.  
  7. switch ($i) {
  8. case ($rek[$i]==$rek[godziny]): $totalHtml .= '<td><div class="grafik" style="background: #'.$rek[godziny_kolory].'">'.$rek[$i].'</div></td>';
  9. break;
  10.  
  11.  
  12. default: $totalHtml .= '<td><div class="grafik">'.$rek[$i].'</div></td>';
  13. }
  14. }
  15. }


Jak widać, przy case odbywa się ów porównanie, problem polega na tym, że jesli wybiore za jednym zamachem wszystkie potrzebne dla mnie wartości zapytaniem

  1. SELECT * FROM `xxx`, `yyy`, `zzz`WHERE xxx.id_uzytkownika=yyy.id


to każdy rekord wyświetlany jest po 4 razy, poniewaz tabela xxx ma 4 rekordy.

Myślalem, aby zrobić dodatkowe (osobne) zapytanie dla tabeli xxx

  1. SELECT * FROM `zzz`


wtedy rekordy wyświetlane byłyby prawidłwo, natomiast nie potrafie ich wtedy porównać :/

Mogę wyświetlić tabelę zzz poprzez

  1. while($rek = mysql_fetch_array($idzapytania2)) {
  2.  
  3.  
  4. echo $rek[godziny];
  5.  
  6. }


ale to mnie nie ratuje :/

Prosilbym o pomoc bo męczę się z tym od kilku godzin i nie wiem jak to ugryźć zeby było dobrze (IMG:style_emoticons/default/sad.gif)

nic? nikt? :/

Panowie pomóżcie bo ja juz do tego nie mam siły (IMG:style_emoticons/default/tongue.gif)

próbowałem już chyba wszystkiego i nic :/

Ten post edytował qweluke 6.04.2010, 18:48:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qweluke
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 25.03.2010
Skąd: Radom

Ostrzeżenie: (10%)
X----


Nie pomaga, bo rekordy powtarzające się nie są takie same.

Żeby to lepiej wytlumaczyc, zobacz(cie) obrazek ponizej.

(IMG:http://ifotos.pl/mini/wynik_nnwpre.jpg) '

Samo zapytanie SQL wybiera po 4 razy imie i nazwisko poniewaz ostatnie 4 kolujmy są inne.

Wydaje mi się, że najlepiej byłoby to zrobić na dwóch zapytania SQL, bo wtedy osoby wyświetlane sa prawidłowo ale jak już pisałem wcześniej, nie wiem jak porównać dane z ostatnich czterech tabel :/
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: 28.12.2025 - 15:41