Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tablica wielowymiarowa z MySQL
seeb
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 6.12.2007
Skąd: Poznań

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


Witam!

Mam problem z pobraniem danych w postaci tablicy wielowymiarowej
  1. $centrala = Array(
  2. 'Odzial 1' => array (
  3. array("pracownik_id"=>"33", "name"=>"Zdzichu Zprzesieki", "pesel"=>"************","FZ"=>"Z")
  4. ),
  5. 'odzial 2' => array (
  6. array("pracownik_id"=>"11", "name"=>"Jan Kowalski", "pesel"=>"************","FZ"=>"Z"),
  7. array("pracownik_id"=>"892", "name"=>"Zuzanna Kiepska", "pesel"=>"************","FZ"=>"S")
  8. )
  9. );


czyli potrzebuję takiej tablicy pobranej z bazy:
Kod
array(2) {
["Odzial 1"]=>
  array(1) {
    [0]=>
    array(4) {
      ["pracownik_id"]=>
      string(2) "33"
      ["name"]=>
      string(18) "Zdzichu Zprzesieki"
      ["pesel"]=>
      string(11) "************"
      ["FZ"]=>
      string(1) "Z"
    }
  }
  ["odzial 2"]=>
  array(2) {
    [0]=>
    array(4) {
      ["pracownik_id"]=>
      string(2) "11"
      ["name"]=>
      string(12) "Jan Kowalski"
      ["pesel"]=>
      string(11) "************"
      ["FZ"]=>
      string(1) "Z"
    }
    [1]=>
    array(4) {
      ["pracownik_id"]=>
      string(3) "892"
      ["name"]=>
      string(15) "Zuzanna Kiepska"
      ["pesel"]=>
      string(11) "************"
      ["FZ"]=>
      string(1) "S"
    }
  }
}

Niestety zwykłe złączenia dają "płaską" tablicę asocjacyjną.
  1. SELECT Odzialy.name AS oddzial,Odzialy.id AS id_odzialu, pracownik.id AS pracownik_id,pracownik.name AS Imie_i_nazwisko, kadry.PESEL AS pesel, kadry.Rodzaj_umowy AS Zatrudnienie
  2. FROM p_users AS centrala
  3. JOIN p_emp_ptc AS PTC ON centrala.id=PTC.cuid
  4. JOIN p_users AS Odzialy ON PTC.puid=Odzialy.id
  5. JOIN p_user_usergroup_map AS map ON Odzialy.id=map.user_id
  6. JOIN p_emp_ptp AS ptp ON Odzialy.id=ptp.pracodawca
  7. JOIN p_users AS pracownik ON pracownik.id=ptp.id
  8. JOIN p_emp_kadry AS kadry ON pracownik.id=kadry.id
  9. WHERE centrala=5002;



Oczywiście można to zrobić przy pomocy php ale nie o to mi chodzi.
Mam nadzieję, że nie zagmatwałem zbytnio problemu. Z góry dziekuję za pomoc.
(Nazwiska są fałszywe i służą tylko prezentacji problemu)

Ten post edytował seeb 27.06.2014, 09:57:04
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 16:44