Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP, MySQL] Przypisanie wyników z bazy do tablicy wielopoziomowej
Forum PHP.pl > Forum > PHP
TheRiko
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.
YaQzi
  1. while ($a = mysql_fetch_assoc($result))
  2. {
  3. $miasto[$a['miasto_id']]['miasto_nazwa'] = $a['miasto_nazwa'];
  4. }
TheRiko
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.
YaQzi
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. }
TheRiko
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ł.
YaQzi
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ć.
TheRiko
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.
YaQzi
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. }

TheRiko
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ł";)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.