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%)
-----


No rozwiązałem to (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .... dzięki za pomysł Dabroz (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! wygląda to teraz tak i wszystko odbywa sie w obrębie 2 klas (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

  1. <?php
  2.  
  3. require(&#092;"funkcjedb.php\");
  4. lacz_db();
  5.  
  6.  
  7. class Db
  8. {
  9.  
  10. function dbs()
  11.   {
  12.  
  13. $zapytanie=&#092;"select * from config
  14.                 where id='1'&#092;"; 
  15.                 
  16. $echozapytanie = mysql_query($zapytanie);
  17.  
  18.  
  19. global $wiersz;
  20.  
  21.   $wiersz = mysql_fetch_object($echozapytanie);
  22.  
  23.   }
  24.  
  25. }
  26.  
  27. class Strona
  28. {
  29.  
  30. function WyswietlTytul()
  31.   {
  32.  
  33. global $wiersz;
  34.   
  35. $strona=new Db;
  36. $strona->dbs();
  37.  
  38.  echo &#092;"<title> $wiersz->nazwa_strony </title>n\";
  39.  
  40.   }
  41.  
  42. }
  43.  
  44. ?>


Wywołanie oczywiście w index.php które juz podawałem. i DZIAŁA (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ale nie dało mi to zasnąć przez noc (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) .... co za koszmar (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) , jeszcze raz dzięki za naprowadzenie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ale rano Szybciutko się myśli jezus (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Zapomniałem o globalce i można to jeszcze uproscić do naprawde wygodnego rezultatu (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

  1. <?php
  2.  
  3. require(&#092;"funkcjedb.php\");
  4. lacz_db();
  5. pobierz_config_dla_klasy();
  6.  
  7. class Strona
  8. {
  9.  
  10.  function WyswietlTytul()
  11. {
  12.  
  13. global $wiersz; //TU JEST MÓJ BŁĄD
  14.  
  15. echo &#092;"<title> $wiersz->nazwa_strony </title>n\";
  16.  
  17. }
  18.  
  19. }
  20.  
  21. ?>


kurde zero kombinacji (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) i działa.... poprostu nie zrozumiałem sentencj globala o którym cały czas myślałem i w połowie zastosowałem..
Definicja funkcji z funkcjedb.php
  1. <?php
  2.  
  3.  
  4. function pobierz_config_dla_klasy()
  5. {
  6. $zapytanie=&#092;"select * from config
  7. where id='1'&#092;"; 
  8.  
  9. $echozapytanie = mysql_query($zapytanie);
  10.  
  11.  
  12. global $wiersz;
  13.  
  14. $wiersz = mysql_fetch_object($echozapytanie);
  15. }
  16.  
  17. ?>


tu jest to zrobione ale zapomniałem potem wskazać to w operacji klasy no głupi błąd ale znalazłem drugie rozwiązanie przy okacji odnajdywania zagapiostwa.... cóż rano o wiele lepiej się myśli (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował pirat 8.08.2004, 06:19:50
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: 27.12.2025 - 21:43