Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dwie funckje i maly problem
Forum PHP.pl > Forum > PHP > Object-oriented programming
lukasz.sekula
Witam,

mam taką klasę:

  1. <?php
  2. require_once('mysql.php');
  3.  
  4. class Miejscowosc{
  5.    public $gminy;
  6.    public $miejscowosci;
  7.  
  8.    public function PobierzGminy(){
  9.        $mysql=new mysql;
  10.        $mysql->connect('localhost','lsekula_mo','root','');
  11.        $mysql->query('SELECT * FROM miejscowosc WHERE gmina=0');
  12.        
  13.        $gminy=array();
  14.        while($rekord=$mysql->fetchRow()){
  15.            $gminy[]=$rekord;
  16.        }
  17.        $mysql->disconnect();
  18.    return $gminy;
  19.    }
  20.    
  21.    public function PobierzMiejscowosciGmin($gmina){
  22.        $mysql=new mysql;
  23.        $mysql->connect('localhost','lsekula_mo','root','');
  24.        $mysql->query('SELECT * FROM miejscowosc WHERE gmina='.$gmina.'');
  25.        
  26.        $miejscowosci=array();
  27.        while($rekord=$mysql->fetchRow()){
  28.            $miejscowosci[]=$rekord;
  29.        }
  30.    
  31.        $mysql->disconnect();
  32.    return $miejscowosci;
  33.    }
  34. }
  35. ?>


Funkcja PobierzGminy() działa. Pytanie teraz jak mam zrobić aby analogicznie pobierało miejscowości danej gminy i zawracało odpowiednia tablice je zaraz pod nazwa gminy.

dla ułatwienia pokazuje jak to ma wyglądać w smarty:

  1. <div id="catalog_m">
  2. {foreach item=gmina from=$gminy}
  3. <p>{$gmina.nazwa}<br>
  4. {foreach item=miejscowosc from=$miejscowosci}
  5. {$miejscowosc.nazwa}
  6. {/foreach}
  7. </p>
  8. {/foreach}
  9. </div>
bigZbig
hej nie wiem jak ci może działać "pobierzGminy" kiedy w zapytaniu sql jest tabela "miejscowosc". Poza tym dlaczego w każdej metodzie otwierasz nowe polaczenie do mysql-a?
lukasz.sekula
mysql jest osobna klasą odpowiedzialna za polaczenie z baza oraz pytania - popatrz początek

dla uzupelnienia - chce wiedziec czy napisac jedna funkcję wypisującą gminy a drugą wypisujaca miejscowosci (np. 3 losowe) dla danej gminy, ale jak wtedy przekazać id konkretnej gminy

struktura tabeli miejscowosc:

id,nazwa,opis,gmina

gdzie gmina jest numerem id miejscowosci ktora jest gminą, 0 oznacza że dana miejscowosć jest siedzibą gminy
deirathe
Kolega wyzej dobrze napisal w kazdej metodzie od nowa laczysz sie z baza- bez sensu, przeanalizuj sam dokladnie a tak poza tym to jak pobierasz gminy to odrazu w tym samym zapytaniu pobierz do gminy jej miejscowosci przez JOIN
lukasz.sekula
racja niepotrzebnie powtarzam connect smile.gif dzieki za pomoc już wiem o co chodzi
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.