Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP, MySQL] Przypisanie wyników z bazy do tablicy wielopoziomowej
TheRiko
post 19.07.2011, 20:27:01
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 1
Dołączył: 10.09.2006

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


Witam wszystkich.

Chciałbym po pobraniu danych z bazy, przypisać je do tablicy, z tym że czy jest możliwość aby ich wyświetlanie było w taki sposób: $zmienna[id][nazwa] ?

Baza:
miasto_id
miasto_nazwa
miasto_opis
itd

Kod:
  1. $query = "SELECT * FROM $miasta_tbl";
  2. $result = mysql_query_($query);
  3.  
  4. $i = 1;
  5. while ($a = mysql_fetch_assoc($result))
  6. {
  7. foreach ($a as $key => $value)
  8. {
  9. $miasto[$i++][$key] = $value;
  10. }
  11. }
  12.  
  13. return $miasto;


Po wyświetleniu $miasto['2']['miasto_nazwa'] chcialbym miec nazwe miasta o numerze id 2.
Go to the top of the page
+Quote Post
YaQzi
post 19.07.2011, 20:50:51
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

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


  1. while ($a = mysql_fetch_assoc($result))
  2. {
  3. $miasto[$a['miasto_id']]['miasto_nazwa'] = $a['miasto_nazwa'];
  4. }


--------------------
 Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń...
Go to the top of the page
+Quote Post
TheRiko
post 19.07.2011, 21:11:34
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 1
Dołączył: 10.09.2006

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


No faktycznie działa, takie proste a tak kombinowałem. Dzięki YaQzi. Ale czy da się to tak stuningować żeby można było wyciagać również inne dane na takiej samej podstawie:
$miasto['2']['miasto_opis'] daje opis miasta o numerze id 2.
$miasto['4']['miasto_nazwa'] daje nazwe miasta o numerze id 4.
$miasto['5']['miasto_id'] daje id o numerze id 5.
itp.
Go to the top of the page
+Quote Post
YaQzi
post 19.07.2011, 21:15:31
Post #4





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

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


analogicznie przecież wink.gif

  1. while ($a = mysql_fetch_assoc($result))
  2. {
  3. $miasto[$a['miasto_id']]['miasto_nazwa'] = $a['miasto_nazwa'];
  4. $miasto[$a['miasto_id']]['miasto_opis'] = $a['miasto_opis'];
  5. // id masz w kluczy pierwszego wymiaru tablicy no ale ok
  6. $miasto[$a['miasto_id']]['miasto_id'] = $a['miasto_id'];
  7. }


--------------------
 Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń...
Go to the top of the page
+Quote Post
TheRiko
post 19.07.2011, 21:24:42
Post #5





Grupa: Zarejestrowani
Postów: 37
Pomógł: 1
Dołączył: 10.09.2006

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


o, świetnie smile.gif I 2 ostatnie pytania: jak najszybciej policzyć ilość danych w tablicy (ale chodzi tylko o glowne id, czyli liczbe miast), oraz czy jest możliwość wylistowania w pętli nazwy wszystkich miast?

Tak czy siak, wciskam pomógł.
Go to the top of the page
+Quote Post
YaQzi
post 19.07.2011, 21:29:07
Post #6





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

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


Do zliczenia rekordów w tablicy count ale jeśli gdzieś będzie potrzebne tylko i wyłącznie to to przerzuć to na bazę danych przez SELECT COUNT(*) FROM $miasta_tbl.

A z tym wylistowaniem to nie wiem o co chodzi. :x Napisz dokładniej co chcesz uzyskać.


--------------------
 Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń...
Go to the top of the page
+Quote Post
TheRiko
post 19.07.2011, 21:37:53
Post #7





Grupa: Zarejestrowani
Postów: 37
Pomógł: 1
Dołączył: 10.09.2006

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


Z pierwszym już sobie poradziłem.

Chodzi o wypisanie nazw miast z tablicy, czyli np mamy trzy miasta i chce je wyswietlic:
Gdańsk, Bydgoszcz, Warszawa.

Mam jeszcze jeden problem. Chcę sprawdzić warunek, czy dane id miasta znajduje się w pętli.
Go to the top of the page
+Quote Post
YaQzi
post 19.07.2011, 21:45:03
Post #8





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

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


Korzystałeś już wcześniej z foreach. ;>

  1. foreach ($a as $row){
  2. echo $row['miasto_nazwa']."<br />";
  3. }


A co do drugiego to chodzi o sprawdzenie czy dane id miasta znajduje się w tej tablicy?

isset
  1. if(isset($a['szukane id'])){
  2. // jest
  3. }
  4. else{
  5. // nie ma
  6. }



--------------------
 Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń...
Go to the top of the page
+Quote Post
TheRiko
post 19.07.2011, 21:50:27
Post #9





Grupa: Zarejestrowani
Postów: 37
Pomógł: 1
Dołączył: 10.09.2006

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


Super:) Wszystko działa. Nawet nie wiesz jak bardzo mi pomogłeś. Nie cierpię tablic. Jakby się dało, to dałbym Ci 5 "pomógł";)
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: 14.08.2025 - 13:12