Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][SOLVED]fpdf przekazywanie funkcji
Forum PHP.pl > Forum > Przedszkole
jacusek
Witam.
Jakoś zaciąłem się na przekazywaniu zmiennych między funkcjami.
Mam napisaną taką funkcję (tzn. na razie jej początek)
  1. <?php
  2. require('fpdf.php');
  3. class PDF extends FPDF
  4. {
  5. public $a;
  6. public function wydruk($a){
  7. //1st row
  8. $y=$mar;
  9. $this->SetXY(11,$y);
  10. $this->multicell(52,4,$dane_os[$a],0, 'L',0);
  11. $this->SetXY($x+11,$y);
  12. $this->multicell(52,4,$dane_os[$a],0, 'L',0);
  13. $this->SetXY(($x*2)+11,$y);
  14. $this->multicell(52,4,$dane_os[$a],0, 'L',0);
  15. $this->SetXY(($x*3)+11,$y);
  16. $this->multicell(52,4,$dane_os[$a],0, 'L',0);
  17. $this->SetXY(($x*4)+11,$y);
  18. $this->multicell(52,4,$dane_os[$a],0, 'L',0);
  19. }
  20. }

Gdzie zmienna $dane_os pochodzi z innego pliku
  1. //zadeklarowana zmianna w formie tabeli $dane_os
  2. include('funk_pdf.php');//powyższy plik - będzie znacznie dłuższy dlatego chce to załatwić include
  3. define('FPDF_FONTPATH','font/');
  4. $pdf=new PDF();
  5. $pdf->Open();
  6. $pdf->AddPage(); //dodaje nowa strone do dokumentu
  7. $pdf->AddFont('arialpl','','arialpl.php');
  8. $pdf->SetTextColor(21,0,0);
  9. $pdf->SetFont('arialpl','',8);
  10. //ustawia szerokość naklejki
  11. $x=38;
  12. //ustawia wysokosc naklejki
  13. $nak_y=21.2;
  14. //ustawia górny margines w mm
  15. $mar=11.5;
  16. //echo $dane_os[1];
  17. //1ST ROW
  18. $pdf->wydruk(1);
  19. $pdf->SetCompression(true);
  20. $pdf->SetDisplayMode(100);
  21. $pdf->SetMargins(0,0,0);
  22. $pdf->Output();

Niestety wygląda na to, że kod znajdujący się w pliku funk_pdf.php w ogóle nie widzi zmiennej $dane_os. Jeżeli wkleję to ręcznie to jest ok - tzn w następujący sposób
  1. $y=$mar;$pdf->SetXY(11,$y);
  2. $pdf->multicell(52,4,$dane_os[1],0, 'L',0);
  3. $pdf->SetXY($x+11,$y);
  4. $pdf->multicell(52,4,$dane_os[1],0, 'L',0);
  5. $pdf->SetXY(($x*2)+11,$y);
  6. $pdf->multicell(52,4,$dane_os[1],0, 'L',0);
  7. $pdf->SetXY(($x*3)+11,$y);
  8. $pdf->multicell(52,4,$dane_os[1],0, 'L',0);
  9. $pdf->SetXY(($x*4)+11,$y);
  10. $pdf->multicell(52,4,$dane_os[1],0, 'L',0);

wówczas dokument się generuje.

Rozwiązałem, trzeba było dodać w funkcji global przy nazwach zmiennych.
CuteOne
  1.  
  2. public function setDane($dane) {
  3.  
  4. $this->_dane = $dane;
  5. }
  6.  
  7. ....
  8.  
  9. if(isset($this->_dane[1])) {
  10.  
  11. $pdf->multicell(52,4,$this->_dane[1],0, 'L',0);
  12. }


..... global jest beee 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.