Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak przekazać zmienną do klasy ?
Forum PHP.pl > Forum > Przedszkole
Elber
Witam,

mam taki kod

  1. $id = $_POST['ID'];
  2.  
  3. $sql = mysql_fetch_array($sql_query);
  4.  
  5. class PDF extends PDF_MC_Table {
  6.  
  7. function Header(){
  8. ...
  9. }
  10. }


i jak teraz zmienną $id i $sql przekazać do klasy aby móc z nije korzystać w funkcji Header() w klasie questionmark.gif
skowron-line
Podstawy podstaw. Parametry funkcji.
  1. class PDF extends PDF_MC_Table {
  2.  
  3. function Header($id, $sql_result){
  4. ...
  5. }
  6. }

  1. $id = $_POST['ID'];
  2. $sql = mysql_fetch_array($sql_query);
  3.  
  4. $pdf = new PDF();
  5. $pdf->header($id, $sql);
BlackDante
możesz to zrobić na kilka sposobów, np. przekazywać te parametry w konstruktorze:

  1. $id = $_POST['ID'];
  2.  
  3. $sql = mysql_fetch_array($sql_query);
  4.  
  5. class PDF extends PDF_MC_Table {
  6.  
  7. private $id;
  8. private $sql;
  9.  
  10. public function __construct($id,$sql)
  11. {
  12. $this->id = $id;
  13. $this->sql = $sql;
  14. parent::construct();
  15. }
  16.  
  17.  
  18. public function Header(){
  19. echo $this->id;
  20. }
  21. }
  22.  
  23. $pdf = new PDF($id,$sql)


albo po prostu przekazywać zmienne jako argumenty funkcji Header

  1. class PDF extends PDF_MC_Table {
  2.  
  3. public function Header($id,$sql){
  4. echo $id;
  5. echo $sql;
  6. }
  7. }
  8.  
  9. $pdf = new PDF();
  10. $pdf->Header($id,$sql);

skowron-line
@BlackDante przekazywanie do konstruktora to raczej zły pomysł, w przypadku kiedy do danych $id i $sql ma się odwoływać tylko w metodzie header.
Elber
HMm nie działa...bo tak

Mam plik fpdf.php i mc_table.php i plik w którym generuje pdf'a i w tym pliku którym generuje pdf'a mam ten kod:

  1. require_once('fpdf/mc_table.php');
  2.  
  3. $id = $_POST['ID'];
  4.  
  5. $sql = mysql_fetch_array($sql_query);
  6.  
  7. class PDF extends PDF_MC_Table {
  8.  
  9. function Header(){
  10. ...
  11. }
  12. }


w pliku fpdf/mc_table.php jest ładowanie pliku fpdf.php

Wyrzuca mi błąd:

Notice: Undefined variable: id in fpdf/fpdf.php on line 348 Notice: Undefined variable: sql in fpdf/fpdf.php on line 348

a 348 linia w fpdf.php to

$this->Header($id, $sql);

(nawias był pusty ale dodałem te 2 zmienne tak jak w pliku w którym generuje pdf'a)

gdzie jest błąd ?

OKI już sobie poradziłem biggrin.gif:D

Zrobiłem funkcje w której dodaje te dane do klasy i po utworzeniu klasy te dane dodaje do tej funkcji wink.gif dzięki za pomoc wink.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.