Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Objekt soll Zugriff auf mysql-result haben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Objekt soll Zugriff auf mysql-result haben


 
CharActeR
24-10-2002, 15:32 
 
Hallo, also hier mein Problem...

Ich habe eine schöne Klasse mit allerlei Methoden und so geschrieben und möchte nun, dass das Objekt auf ein mysql-result zugreifen kann, sodass man innerhalb eines Objekts mit mysql_fetch_array die einzelnen Reihen auslesen kann.

Mein Problem besteht darin, dass ich dem Objekt (bzw. dem Konstruktor) beim Erstellen mit new erst die Variable von diesem result übergeben muss.

$objekt = new klasse("Hallo",102,$sql_result);

Also muss ich zu allen ohnehin schon übergebenen Variablen oder Datentyüen (hier "Hallo" und 102) noch die Variable des results übergeben und das stört mich!

Wenn man mehrere Datenbankzugriffe macht, muss man "100e" von Variablen übergeben und das muss auch anders gehen...

Ich dachte mir, es ginge mit global, aber Fehlanzeige...

global $sql_result;

Das Objekt kann trotzdem nicht auf die Variable zugreifen... wie geht das also???

Danke im Vorraus...

PS.: Nein, ich kann die MySQL-Anfrage nicht in die Klasse mit einbauen. Sie muss einfach schon passieren, bevor ein Objekt erstellt wird.

 
TBT
24-10-2002, 16:41 
 
warum übergibst du dem Kontruktor nicht nur das Result und läßt den Konstruktor
die anderen Variablen daraus selber holen?

 
CharActeR
24-10-2002, 16:46 
 
Ja das mache ich ja auch so...

$objekt = new klasse("Hallo",102,$sql_result);

"Hallo" und 102 sind Werte, die nichts mit der Datenbankabfrage zu tun haben (die übergebe ich sowieso) und das result übergebe ich im Moment auch, aber genau das will ich nicht...

denn:

$objekt = new klasse("Hallo",102,$sql_result1,$sql_result2,$sql_result3,$sql_result4);

Sowas möchte ich nicht haben, wenn ich mehrere Datenbankanfragen habe... also: wie kann ich results in ALLEN Objekten verfügbar machen, ohne sie so zu übergeben?

 
TBT
24-10-2002, 16:55 
 
bau dir nen Array

$meineResults[0] = &$result;
$meineResults[1] = &$result1;
$meineResults[2] = &$result2;

und gib überall dein Array mit hin

 
CharActeR
24-10-2002, 17:25 
 
OK, so werd ich das wohl machen, danke für die schnelle Hilfe!

Also können Objekte nicht auf außerhalb des Objekts definierte Variablen, auch wenn sie mit global definiert wurden, zugreifen, wenn diese nicht übergeben werden, ja?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:59 Uhr.