Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Klasa w klasie?
Mlodycompany
post 8.05.2009, 20:55:20
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam. Nie wiem jak opisać mój problem więc przedstawie kod i napisze co nie działa:P

  1. <?php
  2. class znajdz{
  3.  public function img($id){
  4.      $query = mysql_query("SELECT * FROM `zdjecia` WHERE `id_produktu` = '".$id."' AND `nazwa` = '".$id."-1.jpg'");
  5.      $row = mysql_fetch_array($query);
  6.      $zdjecie = $row[2];
  7.      if($zdjecie == ''){
  8.          $zdjecie = 'brak.gif';
  9.      }
  10.  return $zdjecie;
  11.  }
  12. }
  13.  
  14. class prt{
  15.  public function nowe_pro($URL){
  16.      $query = mysql_query("SELECT * FROM `produkty` ORDER BY `ID` DESC LIMIT 0,3");
  17.      while($row = mysql_fetch_array($query)){
  18.          echo('<table width="598" height="95%" id="new_pro" border="0" cellpadding="0" cellspacing="1">
  19.          <tr>
  20.              <th rowspan="4"><img src="'.$URL.'/img/'.$znajdz->img($row[0]).'" alt=""></th>
  21.              <th>Nazwa: '.$row['nazwa'].'</th>
  22.          </tr>
  23.          <tr>
  24.              <th>Cena: '.$row['cena'].' PLN</th>
  25.          </tr>
  26.          <tr>
  27.              <th>Sprzedający: <a href="'.$URL.'/profil/'.$row[3].'/">.znajdzUseraNick($row[3]).</a></th>
  28.          </tr>
  29.          <tr>
  30.              <th rowspan="0"><a href="'.$URL.'/product/'.$row[0].'/">Więcej</a></th>
  31.          </tr>
  32.      </table>');
  33.      }
  34.  }
  35. }
  36. ?>


Gdy odpalam ten o to skrypt wywala mi błąd: Fatal error: Call to a member function img() on a non-object in d:\usr\krasnal\www\a\func.php on line 39

Chodzi mi o to aby w klasie prt w funkcji nowe_pro w pewnym momencie pobierało dane za pomocą funkcji img z klasy znajdz. Czy ktoś orientuje się jak owy problem rozwiązać?questionmark.gif
Go to the top of the page
+Quote Post
wookieb
post 8.05.2009, 21:12:05
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A podstawy OOP?

jak juz to
Kod
public static function img


i wtedy wywolujesz
Kod
znajdz::img()

Ale najpierw naucz się podstaw.


--------------------
Go to the top of the page
+Quote Post
kwiateusz
post 8.05.2009, 21:12:55
Post #3


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




to musisz przekazac tą klase do 2giej lub w wersji mało estetycznej inicjowac w konstruktorze klase znajdź albo zrobić ze znajdź metode statyczna... (edit: jw.)
Go to the top of the page
+Quote Post
Mlodycompany
post 8.05.2009, 21:21:50
Post #4





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


wookieb a mógłbyś powiedzieć jeszcze gdzie to mam wstawić, bo gdy zacząłem wstawiać tam gdzie wydawało mi się to wyskakiwały jeszcze większe błędu:P
Go to the top of the page
+Quote Post
wookieb
post 8.05.2009, 21:23:57
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




W analogicznych miejscach? Podac wspolrzedne ekranowe czy jak? Zreszta kwiateusz bardzo ładnie ci napisał a ja dokończę "Naucz się PODSTAW".

Ten post edytował wookieb 8.05.2009, 21:24:34


--------------------
Go to the top of the page
+Quote Post
marcio
post 8.05.2009, 23:30:45
Post #6





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Temat: user_class__dziedziczenie ostatni post co do przekazywania klasy do klasy.

A poprzez metody statyczne masz tutaj: Temat: Przekazanie_zmiennej_z_jednej_funkcji_statycznej_do_drugiej_wewnatrz_klasy

A co do instancji obiektu w konstruktorze klasy to tworzysz obiekt klasy jak wszedzie indziej.

P.S po co ci OOP jak ty mieszasz kod obiektowy i proceduralny i w ogole podstawy OOP sie klaniaja.

Ten post edytował marcio 8.05.2009, 23:35:43


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
kwiateusz
post 9.05.2009, 00:17:29
Post #7


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




no już nie chciałem go dołowac że to z oop nie ma duzo wspolnego i to samo osiagnie na funkcjach smile.gif ba nawet szybciej bo nie musi sie martwić instancjami obiektu
Go to the top of the page
+Quote Post
marcio
post 9.05.2009, 00:31:23
Post #8





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


No to sie chlopak zdolowal tongue.gif

P.S sorki za OT


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Mlodycompany
post 9.05.2009, 09:46:45
Post #9





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


wookieb! Mówisz mi, żebym nauczył się podstaw a sam źle podałeś mi rozwiązanie problemu. Chodzi mi o Twoje znajdz::img(). Widzisz jak wstawiłem parent zamiast znajdz zadziałało. Ale cóż. Dzięki za pomoc.
Go to the top of the page
+Quote Post
kwiateusz
post 9.05.2009, 10:00:39
Post #10


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




zeby działało parent to musi dziedziczyć, a czegoś takiego nie masz w przedstawionym kodzie, no i dziedziczenie prt po znajdź to kolejna głupota, ale jak tam chcesz
Go to the top of the page
+Quote Post
marcio
post 9.05.2009, 10:01:14
Post #11





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


@Up chyba zle przeczytales post wookieeb dales chociaz funckje jako statyczna czy nie bo jak nie to co sie dziwisz.

A jak moze ci dzialac parent:: jak to sluzy by sie odwolac to metody z klasy bazowej?

A z tego co ja widze to ty po niczym tam nie dziedziczysz.

P.S Up to mowilem do MlodyCompany tongue.gif

Ten post edytował marcio 9.05.2009, 10:01:53


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
webdice
post 9.05.2009, 10:01:56
Post #12


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Cytat(Mlodycompany @ 9.05.2009, 10:46:45 ) *
wookieb! Mówisz mi, żebym nauczył się podstaw a sam źle podałeś mi rozwiązanie problemu. Chodzi mi o Twoje znajdz::img(). Widzisz jak wstawiłem parent zamiast znajdz zadziałało. Ale cóż. Dzięki za pomoc.


Poraz kolejny - naucz się podstaw, a potem pisz że ktoś podał Ci nieprawidłowe rozwiązanie.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 21.06.2025 - 15:59