php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2005, 08:46  
Neuer Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 9
joni1980
Standard Daten in einer Klasse gehen verloren

Hallo Leute ich habe ein merwürdiges Problem. Ich habe innerhalb einer Webanwendung eine Klasse die "loadVehicle()" heisst. In dieser Klasse
werden ca. 50 Daten aus einer Datenbank in Klassenvariablen geladen.

Das ganze sieht ungefähr so aus...:

//eine Besipielklasse
classe a{

public a1 = "";
public a2 = "";
public a3 = "";
public a4 = "";
public a5 = "";

}


// eine Methode

funtcion loadVehicle(){

$sqlstr = "Select... " // SQL String, der die Werte aus der DB holt

$rs = $thix->execute_sql($sqlstr)


While($rs...){


$this->a1 = $rs->Fields['..']->value;
$this->a2 = $rs->Fields['..']->value;
$this->a3 = $rs->Fields['..']->value;
$this->a4 = $rs->Fields['..']->value;
$this->a5 = $rs->Fields['..']->value;

}

}


Das ganze funktioniert gut und eigentlich auch einwandfrei. Nur hin und wieder "vergisst" die Methode ein paar Variablen. Ich habe das Gefühl, dass das an der hohen Anzahl an Membervaribalen liegt. Kann das sein?

Meist werden die Datenfelder, die weiter unten stehen vergessen. Wenn ich die "fehlerhafte" Zuweisung ganz nach oben verschiebe funktioniert das.
Also z.B.:

$this->a5 = $rs->Fields['..']->value;
$this->a1 = $rs->Fields['..']->value;

So werden alle Variablen geladen!

Hat irgendwer so ein Problem schon mal gehabt, oder gibt es da Patentrezepte???

Danke und Gruß,
Jochen
joni1980 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.12.2005, 09:37  
Gast
 
Beiträge: n/a
Standard

Zuersteinmal solltest du deine Struktur überdenken. Du hast eine Bezeichnersequenz, also Variable1, Variable2, VariableN. Dafür eignet sich ein Array.

Wegen des Datenverlusts würd ich in der Schleife mal print_r() auf $rs anwenden und prüfen, ob die Daten auch aus der Datenbank kommen.
  Mit Zitat antworten
Alt 08.12.2005, 09:49  
Neuer Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 9
joni1980
Standard

Also das gezignete Beispiel ist wirklich nur ein Beispiel. Es ist eine sehr umfangeiche Klasse mit sehr vielen Membervariablen, Methoden und Vererbungen. Ich denke die Struktur die ich habe ist soweit ganz OK. Die Daten sind definitiv da, das ganze passiert eben nur immer unregelmäßig!

Jochen
joni1980 ist offline   Mit Zitat antworten
Alt 08.12.2005, 10:00  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von joni1980
Die Daten sind definitiv da, das ganze passiert eben nur immer unregelmäßig!
Das ist eigentlich unmöglich und nur als letzte Erklärung anzusehen. Deshalb solltest du wirklich alles debuggen, bevor du zu diesem Schluss kommst. Du könntest uns den relevanten Code-Abschnitt mal posten, aber bitte (!) nicht in php- sondern in code-Tags.
  Mit Zitat antworten
Alt 08.12.2005, 10:36  
Gast
 
Beiträge: n/a
Standard

http://www.lugbz.org/documents/smart...l#dontclaimbug
Zitat:
Zitat von joni1980
Also das gezignete Beispiel ist wirklich nur ein Beispiel. Es ist eine sehr umfangeiche Klasse mit sehr vielen Membervariablen, Methoden und Vererbungen. Ich denke die Struktur die ich habe ist soweit ganz OK. Die Daten sind definitiv da, das ganze passiert eben nur immer unregelmäßig!

Jochen
Vielleicht zu viele Member, Methoden und Vererbungen? Nicht zuviele für php, aber zuviele für stressfreies Programmieren. Die Klasse KannAllesUndWeissAlles ist zwar weit verbreitet, aber meistens schwer zu überblicken, schlecht wartbar und fehleranfällig.
Bist Du Dir sicher, dass nicht mehr an die Member delegiert werden kann und dass Deine Generalisierung (loadVehikel->Vehikel?) nicht Bestandteile der Spezialisierungen enthält?
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
Mehrere Arrays unterschiedlicher Größe kombinieren querfisch PHP Tipps 2007 9 31.03.2007 21:34
Session Daten gehen verloren rabatz PHP Tipps 2007 17 11.02.2007 16:19
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
Daten aus SESSION-Array gehen verloren PHP Tipps 2005-2 2 12.10.2005 11:57
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Session Daten in gehen in Function verloren pherfinion PHP Tipps 2005-2 5 19.08.2005 16:04
Daten übergeben kampfnickel PHP Tipps 2005 4 05.01.2005 14:12
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.