Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Łączenie tabel w zapytaniu INNER
fotexxx
post 24.08.2011, 13:11:04
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 21.12.2010

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


Witam

Trafilem na problem z ktorym się zmagam od kilku godzin i chyba juz czas poszukać pomocy biggrin.gif

A wiec tak.....

Moze po krótce napisze w czym rzecz:

  1. $sql22="SELECT * FROM clans_users WHERE id_uzytkownika=$profileID";
  2. $sql_result22=mysql_query($sql22,$connection) or die(mysql_error() );
  3. while($row=mysql_fetch_array($sql_result22)) {
  4. $moj_klan_id = $row['numer_klanu'];
  5.  
  6. echo ''.$moj_klan_id.'<br>';
  7. }

kod zwraca wartość 39 czyli jest ok


struktura tabeli:

  1. --
  2. -- Struktura tabeli dla `clans_users`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `clans_users` (
  6. `id` int(11) NOT NULL AUTO_INCREMENT,
  7. `numer_klanu` int(111) NOT NULL,
  8. `id_uzytkownika` int(111) NOT NULL,
  9. `status` int(111) NOT NULL,
  10. `data` date NOT NULL,
  11. PRIMARY KEY (`id`)
  12. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
  13.  
  14. --
  15. -- Zrzut danych tabeli `clans_users`
  16. --
  17.  
  18. INSERT INTO `clans_users` (`id`, `numer_klanu`, `id_uzytkownika`, `status`, `data`) VALUES
  19. (7, 39, 3, 1, '2011-08-24');


struktura tabeli nr 2:
  1. --
  2. -- Struktura tabeli dla `clans`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `clans` (
  6. `id` int(111) NOT NULL AUTO_INCREMENT,
  7. `gra` int(11) NOT NULL,
  8. `autor` int(255) NOT NULL,
  9. `nazwa` text COLLATE utf8_unicode_ci NOT NULL,
  10. `opis` text COLLATE utf8_unicode_ci NOT NULL,
  11. `www` text COLLATE utf8_unicode_ci NOT NULL,
  12. `data` date NOT NULL,
  13. PRIMARY KEY (`id`)
  14. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=40 ;
  15.  
  16. --
  17. -- Zrzut danych tabeli `clans`
  18. --
  19.  
  20. INSERT INTO `clans` (`id`, `gra`, `autor`, `nazwa`, `opis`, `www`, `data`) VALUES
  21. (39, 1, 1, 'moj klan testowy', 'm??j opis testowy', 'www.mojklan.pl', '2011-08-24');


tabela clans_users zawiera informacje ktory uzytkownik do jakiego klanu należy natomiast tabela clans zawiera informacje o wszystkich utworzonych klanach
Wszystko sie rozchodzi o to ze chce połączyc te tabele w jednym zapytaniu aby wyciagając rekordy pasujące do warunku where uzyskując dodatkowe informacje z tabeli clans takie jak nazwa i www .Pole numer_klanu odpowiada polu id tabeli clans

próbowalem tak ale z niewiadomych mi powodow nie zwraca żadnych rekordów:

  1. $sql22="SELECT * FROM clans_users INNER JOIN clans ON clans.nazwa = clans_users.numer_klanu WHERE id_uzytkownika=$profileID";
  2. $sql_result22=mysql_query($sql22,$connection) or die(mysql_error() );
  3. while($row=mysql_fetch_array($sql_result22)) {
  4. $moj_klan_id = $row['nazwa'];
  5.  
  6. echo ''.$moj_klan_id.'<br>';
  7. }



bede wdzieczny za pomoc bo juz mi bezpieczniki siadają biggrin.gif

Pozdrawiam

Ten post edytował fotexxx 24.08.2011, 13:14:01
Go to the top of the page
+Quote Post
CuteOne
post 24.08.2011, 13:21:52
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


clans.nazwa - to string (prawdopodobnie)
clans_users.numer_klanu - to liczba

  1. SELECT * FROM clans_users INNER JOIN clans ON clans.id = clans_users.numer_klanu WHERE clans_users.id_uzytkownika=$profileID
Go to the top of the page
+Quote Post
fotexxx
post 24.08.2011, 13:28:04
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 21.12.2010

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


dzieki stary za pomoc ...... pomogło
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.06.2025 - 01:23