Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasy i MySQL..., Jak...
pirat
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.05.2003
Skąd: Katowice

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


No więc mam plik powiedzmy klasa.php. Tam buduje sobie klase
:
  1. <?php
  2.  
  3. class Strona
  4. {
  5.  
  6. // atrybuty klasy Strona narazie nie ma to znaczenia
  7.  
  8. var $nazwastrony = &#092;"Jakiś Tytuł\"; //przykladowy atrybut
  9.  
  10. /*
  11.  operacje klasy Strona to tez narazie nie ma znaczenia daje tylko aby mozna bylo
  12. sie zorientowac jak mniej wiecej zbudowana jest klasa
  13. */
  14.  
  15. function WyswietlNaglowek()
  16. {
  17. echo &#092;"<title> $this->nazwastrony </title>n\";
  18. }
  19.  
  20. }
  21. ?>

No to chyba zrozumiale (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .... teraz chciałbym powiedzmy przechowywac nazwe strony w bazie MySQL, zbudowalem odpowiednia tabele, lacze sie standardowo z baza, wykonuje zapytanie.... iii wlasnie co teraz jak to mniej wiecej zrobic aby przekazać wartość z bazy danych do wnętrza klasy.........Narazie mam tyle

  1. <?php
  2.  
  3. require(&#092;"funkcjedb.php\");
  4. lacz_db();
  5.  
  6. pobierz_config_dla_klasy() // odbywa się to za pomocą $wiersz = mysql_fetch_object($zapytanie);
  7.  
  8.  
  9.  
  10.  
  11. class Strona
  12. {
  13.  
  14. // atrybuty klasy Strona narazie nie ma to znaczenia
  15.  
  16. var $nazwastrony = &#092;"Jakiś Tytuł\"; //przykladowy atrybut
  17.  
  18. /*
  19.  operacje klasy Strona to tez narazie nie ma znaczenia daje tylko aby mozna bylo
  20. sie zorientowac jak mniej wiecej zbudowana jest klasa
  21. */
  22.  
  23. function WyswietlNaglowek()
  24. {
  25. echo &#092;"<title> $this->nazwastrony </title>n\";
  26. }
  27.  
  28. }
  29. ?>

W tabeli oczywiscie pole nazywa sie nazwastrony. Wartosc jest 'Jakiś Tytuł', chcialbym teraz aby umiescić je w klasie, co zrobić zamiast
Kod
var $nazwastrony = "Jakiś Tytuł";

i
Kod
   echo "<title> $this->nazwastrony </title>\n";


Jak wywołać tą wartość wewnątrz tej klasy, co nie robie wyświetla mi 'Parse error'
nie mam pojęcia jak to przekazać.....$this->nazwastrony tam miesci sie moja wartos ale nie mam do niej dostępu, POMOZCIE (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował pirat 7.08.2004, 20:41:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pirat
post
Post #2





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.05.2003
Skąd: Katowice

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


Właśnie sobie coś uświadomiłem ale nie do końca rozwiązałem problem bo.... tak jak napisalem
Cytat
pobierz_config_dla_klasy() // odbywa się to za pomocą $wiersz = mysql_fetch_object($zapytanie);


czyli dostep jest $wiersz->nazwa_strony

i działa to wewnątrz funkcji klasa.php... ale nie oto mi chodzi i z tym ze trzeba utworzyć objekt to też wiem bo wywolanie wyglada tak w pliku index.php


  1. <?php
  2.  
  3. require(&#092;"klasa/strona.php\");
  4.  
  5.  
  6. $stronaglowna = new Strona();
  7.  
  8. $stronaglowna->UstawZawartosc(&#092;"<a class=\"box\\">Witamy na STRONIE -></a>\"
  9. );
  10.  
  11. $stronaglowna->Wyswietl();
  12. ?>



ale co mi po tym ze tutaj dostane sie do tej zmiennej jesli ja chce ja wykorzystac jeszcze w klasa.php.... a mniej wiecej tak...


  1. <?php
  2.  
  3. class Strona
  4. {
  5.  
  6. // TUTAJ MA WEJŚĆ TEN GLOOPI MySQL
  7.  
  8. var $nazwastrony = &#092;"Jakiś Tytuł\"; //zamiast tego chyba cos w stylu var $wiersz->nazwastrony ale on tego nie rozumie
  9. /*
  10. a dostęp do tego wtedy będzie taki (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
  11. */
  12.  
  13. function WyswietlNaglowek()
  14. {
  15.  echo &#092;"<title> $this->wiersz </title>n\";
  16. }
  17.  
  18. }
  19. ?>

ale cos tu nie dziala.....

wpadłem na pomysl żeby wam to jeszcze raz przedstawić i narazie co zrobiłem nowego.... dokładniej....


index.php

  1. <?
  2. require(&#092;"klasa/strona.php\");
  3.  
  4.  
  5. $stronaglowna = new Strona();
  6.  
  7. $stronaglowna->UstawZawartosc(&#092;"<a class=\"box\\">Witamy na STRONIE -></a>\"
  8. );
  9.  
  10. $stronaglowna->UstawTytul($wiersz->nazwa_strony);
  11.  
  12.  
  13. ?>

strona.php (to jest klasa)
  1. <?php
  2.  
  3. require(&#092;"funkcjedb.php\");
  4. lacz_db();
  5.  
  6. pobierz_config_dla_klasy();
  7.  
  8. class Strona
  9. {
  10. function WyswietlTytul()
  11. {
  12. echo &#092;"<title> $this->tytul </title>n\";
  13. }
  14. }
  15. ?>

funkcjedb.php
  1. <?php
  2.  
  3. function pobierz_config_dla_klasy()
  4. {
  5. $zapytanie=&#092;"select * from config
  6. where id='1'&#092;"; 
  7.  
  8. $echozapytanie = mysql_query($zapytanie);
  9.  
  10.  
  11. global $wiersz;
  12.  
  13. $wiersz = mysql_fetch_object($echozapytanie);
  14. }
  15. ?>

Tak i w tej postaci DZIAŁA ŁADNIE oczywiście ale dostęp jest robiony poprzez $stronaglowna->UstawTytul($wiersz->nazwa_strony); w index.php a ja chciałbym uzyskać dostęp do owej zmiennej już w klasa.php.... i by miało to postać podobną do var $zmienna = "wartosc"; poprzez operacje w klasie tez dziala ale jest to klopotliwe jesli chodzi o wiekszy projekt... jak to mozna zrobic INACZEJ......

Pzdr!

Ten post edytował pirat 7.08.2004, 20:40:28
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 06:12