Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Pobieranie wyników z dwóch tabel
rja
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.12.2006

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


Witam,
Jest jedna tabela1(id,typ) gdzie typy to np. A, B, C, itd
Druga tabela2(id,typ,element), która zawiera Elementy danego typu.

Jak wykonać zapytanie SQL oraz jak wyświetlić zawartość w postaci listy:

Typ A
Element 1
Element 2
Typ B
Element 3
Typ C
Element 4

itd.

Z wyświetleniem typu radzę sobie tak:
  1. <?php
  2. $stmt = $dbh->prepare("SELECT * FROM tabela1");
  3. $stmt->execute();
  4. $typy = $stmt->fetchAll(PDO::FETCH_ASSOC);
  5. foreach ($typy as $row => $link) {
  6. echo $link['typ']. '</br>';
  7. }
  8. unset($dbh);
  9. unset($stmt);
  10. ?>


Ten post edytował rja 24.06.2017, 11:31:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rja
post
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.12.2006

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


OK. A czy w tym modelu ogarnie mi to jedna pętla czy też muszę dodać drugą?

Chyba tego nie ogarnę. (IMG:style_emoticons/default/sad.gif)
Przy pętli:
  1. foreach($rows as $key => $row){
  2. $this->data['categories'][]= $row;
  3. }

mam tak:
  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [pname] => Produkt1 z kategori 1
  6. [pid] => 1
  7. [cid] => 1
  8. [cname] => kategoria 1
  9. )
  10.  
  11. [1] => Array
  12. (
  13. [pname] => Produkt1 z kategori 1
  14. [pid] => 2
  15. [cid] => 1
  16. [cname] => kategoria 1
  17. )
  18.  
  19. [2] => Array
  20. (
  21. [pname] => Produkt1 z kategori 2
  22. [pid] => 3
  23. [cid] => 2
  24. [cname] => kategoria 2
  25. )
  26.  
  27. [3] => Array
  28. (
  29. [pname] => Produkt1 z kategori 3
  30. [pid] => 4
  31. [cid] => 3
  32. [cname] => kategoria 3
  33. )
  34.  
  35. [4] => Array
  36. (
  37. [pname] => Produkt2 z kategori 3
  38. [pid] => 5
  39. [cid] => 3
  40. [cname] => kategoria 3
  41. )
  42.  
  43. [5] => Array
  44. (
  45. [pname] => Produkt3 z kategori 3
  46. [pid] => 6
  47. [cid] => 3
  48. [cname] => kategoria 3
  49. )
  50.  
  51. [6] => Array
  52. (
  53. [pname] =>
  54. [pid] =>
  55. [cid] => 4
  56. [cname] => kategoria bez produktów
  57. )
  58.  
  59. )


Przy pętli:
  1. foreach($rows as $key => $row){
  2. $cid = $row['CID'];
  3. $this->data['categories'][$cid] = array('name' => $row['CNAME'], 'products' => array());
  4. }


Mam tylko tyle:
  1. Array
  2. (
  3. [] => Array
  4. (
  5. [name] =>
  6. [products] => Array
  7. (
  8. )
  9.  
  10. )
  11.  
  12. )


A przy pętli:
  1. foreach($rows as $key => $row){
  2. $cid = $row['CID'];
  3. $this->data['categories'][$key] = array('name' => $row['CNAME'], 'products' => array());
  4. }


Mam to:
  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [name] =>
  6. [products] => Array
  7. (
  8. )
  9.  
  10. )
  11.  
  12. [1] => Array
  13. (
  14. [name] =>
  15. [products] => Array
  16. (
  17. )
  18.  
  19. )
  20.  
  21. [2] => Array
  22. (
  23. [name] =>
  24. [products] => Array
  25. (
  26. )
  27.  
  28. )
  29.  
  30. [3] => Array
  31. (
  32. [name] =>
  33. [products] => Array
  34. (
  35. )
  36.  
  37. )
  38.  
  39. [4] => Array
  40. (
  41. [name] =>
  42. [products] => Array
  43. (
  44. )
  45.  
  46. )
  47.  
  48. [5] => Array
  49. (
  50. [name] =>
  51. [products] => Array
  52. (
  53. )
  54.  
  55. )
  56.  
  57. [6] => Array
  58. (
  59. [name] =>
  60. [products] => Array
  61. (
  62. )
  63.  
  64. )
  65.  
  66. )


OK. Coś ruszyło.
Przy warunku:
  1. foreach((array)$rows as $row) {
  2. $cid = $row['cid'];
  3. $cname = $row['cname'];
  4. $this->data['kategorie'][$cid] = array(
  5. 'c_id' => $cid,
  6. 'c_name' => $row['cname']
  7. );


Mam tablice kategorii:
  1. Array
  2. (
  3. [1] => Array
  4. (
  5. [c_id] => 1
  6. [c_name] => kategoria 1
  7. )
  8.  
  9. [2] => Array
  10. (
  11. [c_id] => 2
  12. [c_name] => kategoria 2
  13. )
  14.  
  15. [3] => Array
  16. (
  17. [c_id] => 3
  18. [c_name] => kategoria 3
  19. )
  20.  
  21. [4] => Array
  22. (
  23. [c_id] => 4
  24. [c_name] => kategoria bez produktów
  25. )
  26.  
  27. )


Jak to ugryźć dalej?

Ten post edytował rja 27.06.2017, 12:25:03
Go to the top of the page
+Quote Post

Posty w temacie
- rja   [PHP][MySQL] Pobieranie wyników z dwóch tabel   24.06.2017, 11:18:02
- - nospor   Popraw tytul na zgodny z regulaminem Co do probel...   24.06.2017, 11:29:07
- - rja   Dzięki wielkie za link do rozwiązania, o które mi ...   26.06.2017, 13:19:10
- - nospor   Za bardzo nie wiem w czym masz problem. Sposob roz...   26.06.2017, 13:34:30
- - rja   No mam problem z zapisaniem pętli foreach. Przy za...   26.06.2017, 13:54:53
- - nospor   No przeciez w moim kodzie wyraznie masz pokazane, ...   26.06.2017, 14:24:01
- - rja   No właśnie nie wiem jak przenieść to Twoje rozwiąz...   26.06.2017, 15:10:33
- - nospor   Tutaj nie ma nic obiektowego. $this->costa...   26.06.2017, 15:28:07
- - rja   Próbowałem wstawiać dokładnie to co u Ciebie ale w...   26.06.2017, 16:22:05
- - nospor   Cytatale rozumiem że pętla w modelu musi być jeszc...   26.06.2017, 16:24:26
- - rja   RE: [PHP][MySQL] Pobieranie wyników z dwóch tabel   27.06.2017, 12:10:14
- - nospor   Wszystko masz napisane w moim kodzie. W moim kodzi...   27.06.2017, 12:51:48
- - rja   Uwierz mi, naprawdę nie ignoruję. Jest mały postęp...   27.06.2017, 13:01:47
- - nospor   CytatUwierz mi, naprawdę nie ignoruję.W poprzednim...   27.06.2017, 13:07:02
- - rja   Nie ignoruję tylko się uczę. Naprawdę doceniam Two...   27.06.2017, 13:30:53
- - nospor   Czy ty naprawde nie widzisz roznicy miedzy tymi dw...   27.06.2017, 13:33:49
- - rja   No dobra, z if (!isset($categories[...   27.06.2017, 13:47:01
- - nospor   Cytatjak pisałem wszystko mi się miesza przez to c...   27.06.2017, 13:47:55
- - rja   Patrząc na inne modele w tym frameworku to dane do...   27.06.2017, 15:22:43
- - nospor   CytatPatrząc na inne modele w tym frameworku to da...   27.06.2017, 16:21:13
- - rja   Ok. Zapominam o $this ale mogę to dalej robić...   27.06.2017, 19:01:24
- - nospor   Tak, ma byc w tej samej funkcji co bylo NIe, nie ...   27.06.2017, 20:55:01


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: 16.10.2025 - 00:33