Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> JOIN MYSQL zapytanie do bazy danych
seba199696
post
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 4.01.2011

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


Pomoże mi ktoś zbudować zapytanie do bazdy danych mysql? (używam do tego JOIN ale nie chce wyjść) (IMG:style_emoticons/default/sad.gif)
tabela1:

id | name |
1 sss
2 lllll

tabela2:

tab_id | name | code |
1 ppp 1
2 ffff 0

IF ID = TAB_ID TO WHERE CODE 1

wtedy pokaż name z tabela2

a jeżeli się id nie równa z tab_id to pokaż name z tabeli1

prosze o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
seba199696
post
Post #2





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 4.01.2011

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


Sprawdziłem to za pomocą SQL w phpmyadmin wynik pozytywny zwróciło 3 rekordy tak jak chciałem.
  1. SELECT IFNULL( lang.name, module.name )
  2. FROM module
  3. LEFT JOIN lang ON module.id = lang.id_lang
  4. AND lang.lang =2


wynik:
Wygenerowany przez: phpM\Admin 3.3.9 / M\SQL 5.5.8
Zapytanie SQL: SELECT IFNULL( lang.name, module.name ) FROM module LEFT JOIN lang ON
module.id = lang.id_lang AND lang.lang =2 LIMIT 0, 30 ;
Rekordów: 3

i teraz w pliku robię:

  1. <?php
  2. try
  3. {
  4. $pdo = new PDO('mysql:host=localhost;dbname=cms', '******', '*****');
  5. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  6.  
  7. $stmt = $pdo -> query('
  8. SELECT IFNULL( lang.name, module.name )
  9. FROM module
  10. LEFT JOIN lang ON module.id = lang.id_lang
  11. AND lang.lang =2
  12. ');
  13.  
  14. while($row = $stmt -> fetch())
  15. {
  16. echo $row['name'];
  17. }
  18. $stmt -> closeCursor();
  19. }
  20. catch(PDOException $e)
  21. {
  22. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  23. }
  24. ?>


wynik:
Notice: Undefined index: name in C:\xampp\htdocs\cms\query.php on line 19

Notice: Undefined index: name in C:\xampp\htdocs\cms\query.php on line 19

Notice: Undefined index: name in C:\xampp\htdocs\cms\query.php on line 19

dlaczego tego nie wyświetla?

Ten post edytował seba199696 13.03.2012, 17:44:37
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: 8.10.2025 - 00:08