Hallo,
ich bin gerade dabei ein Script zu bauen was automatisch eine Rechnung erzeugt. Mein Probem besteht jetzt darin das ich nicht weiss wie ich die passenden Variablen aus der DB bekommen soll zB. Vorname und Nachname.
Ich bin aktuell so weit das bereits eine PDF erzeugt wird und eine schleife für jede ID eine .pdf erzeugt. Allerdings wenn ich in der Schleife eine Variable definiere kommt beim erstellen der PDF bzw. beim laden der class ein fehler weil die Variable ja erst unten definiert wird.
Wenn ich die schleife über die Class tue kommt ein fehler beim laden der schleife weil die class noch nicht geladen ist ... ein teufelskreis -.-
Hat wer ne Lösung?
(ich hab die unwichtigen stellen mal raus genommen um den Code übersichtlich zu halten)
Nochmal die Kurzfassung:
>> $this->empf1 = "Vorname"; <<
Hier möchte ich eine Variable rein bekommen die ich unten bie der schleife lade
Ich bin schon am überlegen die komplette klasse mit in die schleife zu tuen aber dann müsste ich ja den namen jedes mal ändern, was bei 100 Rechnungen oder so bestimmt enorm arbeitsspeicher frisst?
Edit: habs gerade mal ausprobiert würde auch garnicht gehen die Klasse mit class "Testklasse$a" zu starten -.-
ich bin gerade dabei ein Script zu bauen was automatisch eine Rechnung erzeugt. Mein Probem besteht jetzt darin das ich nicht weiss wie ich die passenden Variablen aus der DB bekommen soll zB. Vorname und Nachname.
Ich bin aktuell so weit das bereits eine PDF erzeugt wird und eine schleife für jede ID eine .pdf erzeugt. Allerdings wenn ich in der Schleife eine Variable definiere kommt beim erstellen der PDF bzw. beim laden der class ein fehler weil die Variable ja erst unten definiert wird.
Wenn ich die schleife über die Class tue kommt ein fehler beim laden der schleife weil die class noch nicht geladen ist ... ein teufelskreis -.-
Hat wer ne Lösung?
(ich hab die unwichtigen stellen mal raus genommen um den Code übersichtlich zu halten)
Nochmal die Kurzfassung:
>> $this->empf1 = "Vorname"; <<
Hier möchte ich eine Variable rein bekommen die ich unten bie der schleife lade
Ich bin schon am überlegen die komplette klasse mit in die schleife zu tuen aber dann müsste ich ja den namen jedes mal ändern, was bei 100 Rechnungen oder so bestimmt enorm arbeitsspeicher frisst?
Edit: habs gerade mal ausprobiert würde auch garnicht gehen die Klasse mit class "Testklasse$a" zu starten -.-
PHP-Code:
include_once('fpdf16/fpdf.php');
class Testklasse01 extends FPDF {
private $twVariable01 = "";
private $twVariable02 = "";
function __construct() {
parent::__construct("P", "mm", "A4");
// hier werden die Variablen dieser Klasse initialisiert
$this->empf1 = "Vorname";
$this->SetDisplayMode(100);
$this->AddPage();}
function Header() {
$this->Image('bg.png', 0, 0);
$this->SetFont("Arial","","10");
$this->SetTextColor(000, 000, 000);
$this->SetXY(24.5, 45.5);
$this->Cell(90, 10, $this->empf1);
}
function Footer() {}}
mysql_connect("localhost","x","x") or die ("keine Verbindung möglich!");
mysql_select_db("user") or die ("Die Datenbank existiert nicht.");
$news_sql = "SELECT id FROM user WHERE rechnungstatus = '0' ORDER BY id DESC";
$news_result = mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while ($row = mysql_fetch_array($news_result, MYSQL_NUM))
{$idausdb[] = $row[0];}
$news_sql = "SELECT servername FROM user WHERE rechnungstatus = '0' ORDER BY id DESC";
$news_result = mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while ($row = mysql_fetch_array($news_result, MYSQL_NUM))
{$servernameausdb[] = $row[0];}
$anzahl = count($idausdb);
$news_sql = "SELECT rechnungsnummer FROM user ORDER BY rechnungsnummer DESC";
$news_result = mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while ($row = mysql_fetch_array($news_result, MYSQL_NUM))
{$rechnungsnummerausdb[] = $row[0];}
$rechnungsnummer = $rechnungsnummerausdb[0];
$a = 0;
while($a < $anzahl)
{
$rechnungsnummer++;
error_reporting(E_ALL);
$pdf = new Testklasse01();
$pdf->Output("$servernameausdb[$a]$a$a$anzahl$rechnungsnummer.pdf"); //
$sql = "UPDATE user SET
`rechnungsnummer` = '" . $rechnungsnummer . "',
`rechnungname` = '" . $servernameausdb[$a] . $a . $a . $anzahl . $rechnungsnummer . "'
WHERE id='". $idausdb[$a] ."'";
$db_erg = mysql_query( $sql );
$a++;
}
Kommentar