Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Menu województwa i miasta
Forum PHP.pl > Forum > Przedszkole
kielich
Witam,
Mam pewien problem mianowicie , mam 2 tabele (province i city )

Province (id, name)
City(id,name,key_province)

i na przykład kiedy w bazie mam

WOJEWODZTWO1 - miasto1 , miasto2

WOJEWODZTWO2 - miasto3 , miasto4

Zapytanie :

  1. $db = Zend_Registry::get('db');
  2. $sql = $db->select()
  3. ->from(array('p' =>'province'),array('p.name as name_province','p.id as id_province'))
  4. ->joinleft(array('c' =>'city'),'c.key_province=p.id',array('c.name as name_city','c.id as id_city'));
  5. $result = $db->fetchAll($sql);


i mój problem jest tak że nie mam pomysłu jak zrobić aby wojewodztwo1 i wojewodztwo2 było tylko jeden raz (potrzebne do menu rozwijanego - klikam na wojewodztwo1 wysuwa się miasto1 i miasto2 )

Bardzo proszę o pomoc
uzi123
Nie do końca rozumiem Twój problem. Jeśli chcesz mieć z tabeli tylko dane dla jednego województwa to dorzuć jeszcze:
  1. ->where('p = ?','wojewodztwon');

Jeśli nie chcesz zmieniac zapytania, to obrób wynik tego co masz i wrzuć odpowiednio do tabeli
  1. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  2. if (array_key_exists($row['p'],$Pcity) {
  3. $Pcity[$row['p']].=$row['c'];
  4. } else {
  5. $Pcity[$row['p']]=$row['c']
  6. }
  7. }

melkorm
Rozbij to na dwa zapytania, lub odpowiednio przeliteruj.

Dwa zapytania bo powtarzasz niepotrzebnie dane, miast/wiosek itp możesz mieć od groma a liczbę województw masz zawsze taką samą i nie ma tego dużo wink.gif

Możesz do pobrania województw użyć takiego kodu:
  1. $sql = $this->select()->from($this, array('id_woj','nazwa_woj'));
  2. $adapter->fetchPairs( $sql );

Dostaniesz wtedy tablicę klucz -> nazwa województwa.

Oczywiście pozmieniaj sobie odpowiednio klucze itp.
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.