Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] klasa
shovit
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 7.08.2006

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


Witam! mam problem przy tworzeniu klasy odpowiedzialnej za obsluge systemu newsow - napisalem to kiedys na funkcjach i zmiennych globalnych ale postanowilem przerobic na klase.
  1. <?php
  2. class newsy {
  3.  
  4. var $news_id;
  5. var $news_tresc;
  6. var $news_tytul;
  7.  
  8. function admin_news(parametry dotyczace wygladu panelu) {
  9.  
  10. if(isset($_POST['news_id_edytuj'])) {
  11.  
  12. $this->news_id=$_POST['news_id_edytuj'];
  13.  
  14. $odczyt=mysql_query("select * from newsy where nr='$this->news_id'");
  15. while($row=mysql_fetch_array($odczyt)) {
  16.  
  17. $this->news_tytul=$row['tytul'];
  18. $this->news_tresc=$row['tresc'];
  19. }
  20.  
  21. $this->rysuj_formularz($_PHP['self'], 'edytuj', $this->news_tytul, $this->news_tresc);
  22. }
  23.  
  24. else { //czesc kodu odpowiedzialna za wysiwtlanie panelu administracji newsami przesyla m
    .in  
  25.  zmienna $news_id_edytuj jesli zostanie nacisniety przycisk "edytuj"// 
  26.  
  27.  
  28. }
  29.  
  30. }
  31.  
  32.  function rysuj_formularz($action, $value, $tytul_value, $tresc_value) {
  33.  //wysyla wartosci w zmiennych $tytul_edit i $tresc_edit
  34. }
  35.  
  36.  function edytuj_news() {
  37.  
  38. if(isset($_POST['tytul_edit']) && isset($_POST['tresc_edit'])) {
  39. echo $this->news_id;
  40. $tytul=addslashes($_POST['tytul_edit']);  
  41.  $tresc=addslashes($_POST['tresc_edit']);
  42. $edytuj=mysql_query("update newsy set tytul='$tytul', 
  43. tresc='$tresc' where nr='$this->news_id'");
  44. }
  45. }
  46.  
  47. // pozostale funckje
  48.  
  49. }
  50. ?>



a to fragment kodu w pliku .php

  1. <?php
  2. include ('newsy.inc');
  3.  
  4.  
  5.  
  6. // laczenie z baza mysql
  7.  
  8.  
  9.  
  10. $mynews = new newsy();
  11. $mynews->edytuj_news();
  12. $mynews->admin_news(parametry wygladu panelu);
  13. ?>


Problem polega na tym ze zapytanie mysql w funkcji edytuj_news nie wykonuje sie:
  1. <?php
  2. $edytuj=mysql_query("update newsy set tytul='$tytul', 
  3. tresc='$tresc' where nr='$this->news_id'");
  4. ?>


jesli zamiast tego wpisze kod

  1. <?php
  2. $edytuj=mysql_query("update newsy set tytul='$tytul', 
  3. tresc='$tresc' where nr=20");
  4. ?>


czyli zmienna $this->$news_id zastapie konkretna liczba to caly skrypt dziala dobrze wiec porblem tkwi w tym ze nie moge odczytac tej zmiennej, probowalem ja wyswietlac przez echo i tez nie dziala wiec zmienna jest na 100% pusta, ale gdy wyswietle ja przez echo $this->news_id zaraz po tym jak jej wartosc zostaje ustawiona w funkcji admin_news() w ten sposob
  1. <?php
  2. if(isset($_POST['news_id_edytuj'])) {
  3.  
  4. $this->news_id=$_POST['news_id_edytuj'];
  5. echo $this->news_id;
  6. }
  7. ?>


to zostaje wyswietlona poprawnie jej wartosc. POMOCY w czym tkwi problem? niedawno zabralem sie za obiektowe programowanie wiec jestem w tym bardzo slaby.

Ten post edytował shovit 7.08.2006, 13:03:10
Go to the top of the page
+Quote Post

Posty w temacie
- shovit   [php] klasa   7.08.2006, 12:48:20
- - kamikaze_   Zauważ, że: [PHP] pobierz, plaintext <?php$myn...   7.08.2006, 19:53:00
- - shovit   Cytat(kamikaze_ @ 7.08.2006, 20:53 ) Zauw...   7.08.2006, 20:36:38


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 Aktualny czas: 19.08.2025 - 21:59