Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]LEFT JOIN i problem z rekordami
DawidQ123
post 23.07.2013, 14:44:11
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.11.2009

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


Witam chciałem wyciągnąć sobie z bazy z dwóch tabeli dane z tym że z drugiej tabeli dwie dane z różnych rekordów ale niestety nie poradziłem sobie.
Oto mój kod:
  1. $statement = $pdo->prepare('SELECT u.id AS idu, u.login AS nick, u.name AS name, u.date AS reg, p1.profit AS profit1, p2.profit AS profit2
  2. FROM `'.$cfg_prefix.'users` AS u
  3. LEFT JOIN `'.$cfg_prefix.'profitinday` AS p1 ON (p1.nick = u.login AND p1.date = :date1)
  4. LEFT JOIN `'.$cfg_prefix.'profitinday` AS p2 ON (p2.nick = u.login AND p2.date = :date2)
  5. WHERE u.id > 0');
  6. $yesterday = date('Y-m-d', strtotime($yesterday . ' - 1 day'));
  7. $statement->bindValue(':date1', date("Y-m-d"), PDO::PARAM_STR);
  8. $statement->bindValue(':date2', $yesterday, PDO::PARAM_STR);
  9. $statement->execute();
  10. $st3 = $statement->fetchAll();
  11. $st3count = count($st3);
  12. echo 'ID -- Nick -- Name -- Dzis -- Wczoraj</br>';
  13. for($i=0;$i<$st3count;$i++){
  14. if($st3[$i]['profit1'] == null){
  15. $st3[$i]['profit1'] = 0;
  16. }
  17. if($st3[$i]['profit2'] == null){
  18. $st3[$i]['profit2'] = 0;
  19. }
  20. if($st3[$i]['name'] == null){
  21. $st3[$i]['name'] = '<i>nie podano</i>';
  22. }
  23. echo $st3[$i]['idu'].' -- '.$st3[$i]['nick'].' -- '.$st3[$i]['name'].' -- '.$st3[$i]['profit1'].'PLN -- '.$st3[$i]['profit2'].'PLN</br>';
  24. }


zwraca on:
Kod
ID -- Nick -- Name -- Dzis -- Wczoraj
1 -- DEFAULT_RATE -- nie podano -- 0PLN -- 0PLN
2 -- test -- Testowy Tester -- 0PLN -- 0PLN
3 -- Anonim -- nie podano -- 0PLN -- 39.78PLN


a w bazie są 2 rekordy w tabeli profitinday:
Kod
id nick profit date
18 Anonim 39.78 22.07.2013
19 Anonim 8.86 23.07.2013


czyli powinno się wyświetlać:
Kod
3 -- Anonim -- nie podano -- 8.86PLN -- 39.78PLN


proszę o pomoc.
Go to the top of the page
+Quote Post
kopecsrk
post 23.07.2013, 14:54:11
Post #2





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

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


Podaj dokładnie pola obydwóch tabel.
Go to the top of the page
+Quote Post
czychacz
post 24.07.2013, 09:47:42
Post #3





Grupa: Zarejestrowani
Postów: 189
Pomógł: 13
Dołączył: 20.09.2008
Skąd: Lublin

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


zrób dumpa z obu dat, bo nie chce mi się wierzyć, że to nie działa tongue.gif
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: 24.07.2025 - 11:53