Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: klasy
Forum PHP.pl > Forum > Przedszkole
Księżyc
Witam
Napisałem aplikacje w php z wykorzystaniem mysqla całoścć jest napisana z wykorzystaniem funkcji,mam jednak zamienić to na klasy.Aplikacja to rejestracja pacjentów, moje pytanie brzmi jeśli tworze klase pacjent to umieszczam w niej metody zaloguj, wybierz lekarza, wybierz termin itp, a co mam zrobić z funkcjami które służą do pobierania danych z tabel, łączenia z bazą i opisującą wygląd strony? czy stworzyć nowe klasy np baza ,strona czy umieścić wszystko w klasie pacjent
TomASS
Najlepiej osobne:
klasa do obsługi bazy danych
klasa logowania


W zasadzie im więcej klas tym lepiej, oczywiście, jak ze wszystkim, nie należy przesadzać smile.gif
revyag
Podziel to na więcej klas:
- pacjent
- baza
- strona
Logowanie też bym wrzucił w osobną klasę. Jeśli wykorzystujesz do autoryzacji bazę, to będziesz mógł wykorzystać metody z klasy baza.
Ogólnie rzecz biorąc najlepiej narysuj sobie schemat działania aplikacji i planuj smile.gif
Księżyc
Podzieliłem na klasy i tak w klasie strona umieściłem:nagłowek, style, stopka formularz_logowania.
Mam jednak problem z przekształceniem funkcji na klasy przy pobieraniu danych z bazy poniżej jest plik rejestracja.php , moje pytanie brzmi od czego zacząć przekształcanie pliku rejestracje.php oraz funkcji wewnątrz klas aby przejść ze struktury na klasy
  1. <?
  2. //pobierane są rezerwacje wybranego pacjenta
  3.   $tablica_rezerwacji = pobierz_rezerwacje($Nazwisko);
  4. //wysietlane są rezerwacje pacjenta
  5.   wyswietl_rezerwacje($tablica_rezerwacji);
  6. ?>



Poniżej jest klasa Baza w któej są funkcje loncz(połączenie z bazą) oraz wynik_do_tablicy(przekształca rzędy w tablice asocjacyjną)
  1. <?
  2. class Baza
  3. {
  4. function polacz() // bylo: loncz() -- straszne :| -- dr_bonzo
  5. {
  6.    $wynik = mysql_pconnect("localhost","root","pokemon"); 
  7.    if (!$wynik)
  8.       return  false;
  9.    if (!mysql_select_db("przychodnia"))
  10.       return  false;
  11.    return $wynik;
  12. }
  13. function wynik_do_tablicy($wynik)
  14. {
  15.    $tablica_wyn = array();
  16.  
  17.    for ($licznik=0; $rzad = @mysql_fetch_array($wynik); $licznik++)
  18.      $tablica_wyn[$licznik] = $rzad;
  19.  
  20.    return $tablica_wyn;
  21. }
  22. }
  23. ?>


klasa Pacjent posiada funkcje pobierz_rezerwacje() która na podstwie przekazanej wartości tworzone jest zapytanie po uprzednim połączeniu z bazą.Oraz funkcja wyswietl_rezerwacje() która wyświetla rezerwacje
  1. <?
  2. class Pacjent
  3. {
  4.     
  5. function pobierz_rezerwacje($Nazwisko)
  6. {
  7. $loncz = loncz();
  8.    if (!$loncz)
  9.     return  false;
  10.    $zapytanie = "select pacjenci.Id_Pacjenta, lekarze.Nazwisko,lekarze.Imie,lekarze.Gabinet,
    specjalizacja.Specjalizacja,rejestracja.Data,rejestracja.Czas,rejestracja.Id_Reje
    stracji from lekarze,specjalizacja,rejestracja,pacjenci where lekarze.Id_Specjali
    zacja=specjalizacja.Id_Specjalizacja and lekarze.Id_Lekarza=rejestracja.Id_Lekarz
    a and 
  11. pacjenci.Id_Pacjenta=rejestracja.Id_Pacjenta and pacjenci.Nazwisko='$Nazwisko'";
  12.    $wynik = @mysql_query($zapytanie);
  13.    if (!$wynik)
  14.      return false;
  15.    $rezerwacje = @mysql_num_rows($wynik);
  16.    if ($rezerwacje==0)
  17.       return false;
  18.   $wynik = wynik_do_tablicy($wynik);
  19.    return $wynik;
  20. }
  21.  
  22. function wyswietl_rezerwacje($tablica_rezerwacji)
  23. {
  24.   ?>
  25.   <center>
  26.    <table border=1  width=50%  class=center3  >
  27.    <tr>
  28.    <th>Nazwisko</th><th>Imie</th><th>Gabinet</th><th>Specjalizacja</th><th>Data</th><th>Czas</th><th>Usun</th>
  29.    </tr>
  30.    <?
  31.   foreach ($tablica_rezerwacji as $rzad)
  32.   {
  33.     $Id_Rejestracji=$rzad['Id_Rejestracji'];
  34.     $Id_Pacjenta=$rzad['Id_Pacjenta'];
  35.     $Nazwisko=$rzad['Nazwisko'];
  36.     $Imie=$rzad['Imie'];
  37.     $Gabinet=$rzad['Gabinet'];
  38.     $Specjalizacja=$rzad['Specjalizacja'];
  39.     $Data =$rzad['Data'];
  40.     $Czas=$rzad['Czas'];
  41.   echo"<tr><td>$Nazwisko</td><td>$Imie</td><td>$Gabinet</td><td>$Specjalizacja</td><td>$Data</td><td>$Czas</td><td><a href=\"usun_rezerwacje.php?Id_Rejestracji=$Id_Rejestracji\">usun</a></tr>";
  42.   }    
  43.   ?>
  44.   </table>
  45. </center>
  46. <table border=1 class=down_left width=20% >
  47.    <tr><th><a href="czlonek.php">Powrót do menu</a></th></tr>
  48.    </table>
  49. <table border=1 class=down_right width=20%  a >
  50.    <tr><th><a href="wylog.php">Wyloguj</a></th></tr>
  51.    </table>
  52.   <?
  53. }
  54. }
  55. ?>

---[ edit ]-------
Poprawilem blad ortograficzny w kodzie.
-- dr_bonzo
Ociu
Lepiej poczytaj o OOP. Jest taki fajny artykuł na wortalu php.pl....
Księżyc
troche poczytałem o objektowym php , ale mam pytanie czy wyświetlanie rezultatu zapytania umieścić w klasie czy poza klasąquestionmark.gif
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.