Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyciąganie danych z dwóch tabel + języki
b_chmura
post
Post #1





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Witam

Nie wiem do końca jak zadać pytanie... więc zacznę od kodu.

  1. Table #1
  2.  
  3. id|url|time


  1. Table #2
  2. id_parent|id_lang|name


Jakie rozwiązania polecicie by po zapytaniu (zapytaniach?) uzyskać taką tablice:

  1. [0] = array(
  2. [id] = 1
  3. [url] = 'http://google.pl'
  4. [name] = array(
  5. [id_lang_1 (lub 0)] = 'Nazwa w języku PL'
  6. [id_lang_2 (lub 1)] = 'Nazwa w języku EN'
  7. [id_lang_? (lub ?)] = 'Nazwa w języku ?'
  8. (...)
  9. );
  10. )
  11. [1] = array(
  12. ...
  13. )
  14.  
  15. ...


Zdaje sobie sprawę, że jest to trochę nie zrozumiałem... w razie wypadku odpowiem na każde pytanie.

Pozdrawiam
Chmura B.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
b_chmura
post
Post #2





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


  1. foreach($d as $k => $dd){
  2.  
  3. $tmp[$d['id_parent']][$k][$d['id_lang']] = $dd;
  4. }


Coś takiego robi w przybliżeniu to co bym chciał. Różnica polega na tym, że każdą kolumnę powiela o ilość id_lang. Nawet te które nie różnią się wartościami.

W przybliżeniu dostaję wynik:
  1. (
  2. [1] => Array
  3. (
  4. [id] => Array
  5. (
  6. [1] => 1
  7. [2] => 1
  8. )
  9.  
  10. [prefix] => Array
  11. (
  12. [1] => asd
  13. [2] => asd
  14. )
  15.  
  16. [url] => Array
  17. (
  18. [1] => [url="http://asd.asd"]http://asd.asd[/url]
  19. [2] => [url="http://asd.asd"]http://asd.asd[/url]
  20. )
  21.  
  22. [id_parent] => Array
  23. (
  24. [1] => 1
  25. [2] => 1
  26. )
  27.  
  28. [id_lang] => Array
  29. (
  30. [1] => 1
  31. [2] => 2
  32. )
  33.  
  34. [name] => Array
  35. (
  36. [1] => Zawiszy
  37. [2] => Zawiszen
  38. )
  39.  
  40. )
  41.  
  42. [2] => Array
  43. (
  44. [id] => Array
  45. (
  46. [1] => 2
  47. [2] => 2
  48. )
  49.  
  50. [prefix] => Array
  51. (
  52. [1] => bartek
  53. [2] => bartek
  54. )
  55.  
  56. [url] => Array
  57. (
  58. [1] => [url="http://nuvola.pl"]http://nuvola.pl[/url]
  59. [2] => [url="http://nuvola.pl"]http://nuvola.pl[/url]
  60. )
  61.  
  62. [id_parent] => Array
  63. (
  64. [1] => 2
  65. [2] => 2
  66. )
  67.  
  68. [id_lang] => Array
  69. (
  70. [1] => 1
  71. [2] => 2
  72. )
  73.  
  74. [name] => Array
  75. (
  76. [1] => Bartka
  77. [2] => Bartkaen
  78. )
  79.  
  80. )
  81.  
  82. )


EDIT:
Oczywiście w zamierzeniu chciałbym, żeby kolumny z taką samą wartością nie były tablicą a od razu wartością.

[id_lang] i [name] miałby zostać tak jak są.

Nie wiem jak sprawdzić czy poprzedni jest inny czy ma takie same wartości i w takim wypadku zostawić go w spokoju.

Ten post edytował b_chmura 21.11.2012, 14:25:22
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: 6.10.2025 - 23:35