Object von einem Objekt
am 14.09.2006 21:38:29 von Julian Bessenroth
Hi Folks,
stecke irgendwie gerade fest. Also, ich habe eine Klasse in der ich
eine in der ich eine SQL-Abfrage mache.
$this->sql="SELECT ... ";
$this->result=MYSQL_QUERY($this->sql) or die(mysql_error());
$this->row = mysql_fetch_object($this->result);
Der Name des Feldes, welches abgerufen werden soll ist ebenfalls eine
Var des Objektes.
$this->feldname="id";
Wie aber komme ich nun an "$row->id"?
Stelle mich gerade wohl zu bloed an ...
Danke im Voraus.
Julian
Re: Object von einem Objekt
am 14.09.2006 21:55:07 von Jens Himmelrath
Julian Bessenroth schrieb:
> Hi Folks,
>
> stecke irgendwie gerade fest. Also, ich habe eine Klasse in der ich
> eine in der ich eine SQL-Abfrage mache.
>
> $this->sql="SELECT ... ";
> $this->result=MYSQL_QUERY($this->sql) or die(mysql_error());
> $this->row = mysql_fetch_object($this->result);
>
> Der Name des Feldes, welches abgerufen werden soll ist ebenfalls eine
> Var des Objektes.
>
> $this->feldname="id";
>
> Wie aber komme ich nun an "$row->id"?
Hmm, ich benutze zwar immer mysql_fetch_assoc, aber laut
http://de.php.net/mysql_fetch_object müsste es in deinem Fall über
$this->row->id gehen.
Was hat das $this->feldname damit zu tun?
regards,
Jens
Re: Object von einem Objekt
am 14.09.2006 22:12:57 von Julian Bessenroth
Hi,
Jens Himmelrath schrieb:
> > $this->row =3D mysql_fetch_object($this->result);
> > $this->feldname=3D"id";
> >
> > Wie aber komme ich nun an "$row->id"?
>
> Hmm, ich benutze zwar immer mysql_fetch_assoc, aber laut
> http://de.php.net/mysql_fetch_object müsste es in deinem Fall über
> $this->row->id gehen.
ja klar geht das, aber mein Feld heisst nicht jedes Mal "id", sonderm
vielleicht beim naechsten table "banane" oder ...
> Was hat das $this->feldname damit zu tun?
Hier sage ich, wie das Feld/die Spalte in dem DB-table heisst. Also
eigentlich moechte ich $this->row->[$this->feldname] ...
Danke im Voraus=20
Julian
Re: Object von einem Objekt
am 14.09.2006 22:13:09 von Jens Himmelrath
Julian Bessenroth schrieb:
> Hi Folks,
>
> stecke irgendwie gerade fest. Also, ich habe eine Klasse in der ich
> eine in der ich eine SQL-Abfrage mache.
>
> $this->sql="SELECT ... ";
> $this->result=MYSQL_QUERY($this->sql) or die(mysql_error());
> $this->row = mysql_fetch_object($this->result);
>
> Der Name des Feldes, welches abgerufen werden soll ist ebenfalls eine
> Var des Objektes.
>
> $this->feldname="id";
>
> Wie aber komme ich nun an "$row->id"?
Geht in jedem Fall über einen Zwischenschritt:
$tmp_field = $this->fieldname;
echo $this->row->$tmp_field;
Das geht bei mir auch nicht:
echo $this->row->$this->fieldname;
Wieso eigentlich nicht?
regards,
Jens
Re: Object von einem Objekt
am 14.09.2006 22:14:06 von Jens Himmelrath
Julian Bessenroth schrieb:
>
> Hi,
>
> Jens Himmelrath schrieb:
>
>>> $this->row = mysql_fetch_object($this->result);
>
>>> $this->feldname="id";
>>>
>>> Wie aber komme ich nun an "$row->id"?
>> Hmm, ich benutze zwar immer mysql_fetch_assoc, aber laut
>> http://de.php.net/mysql_fetch_object müsste es in deinem Fall über
>> $this->row->id gehen.
>
> ja klar geht das, aber mein Feld heisst nicht jedes Mal "id", sonderm
> vielleicht beim naechsten table "banane" oder ...
>
>> Was hat das $this->feldname damit zu tun?
>
> Hier sage ich, wie das Feld/die Spalte in dem DB-table heisst. Also
> eigentlich moechte ich $this->row->[$this->feldname] ...
Ja, das habe ich dann auch kapiert - der Cancel war nicht schnell genug. ;)
Siehe mein anderer Beitrag.
regards,
Jens
Re: Object von einem Objekt
am 14.09.2006 22:18:29 von Julian Bessenroth
Jens Himmelrath schrieb:
Hi Jens,
erst mal Danke fuer Deine Antwort,
> Geht in jedem Fall über einen Zwischenschritt:
>
> $tmp_field =3D $this->fieldname;
> echo $this->row->$tmp_field;
Darueber habe ich auch schon nachgedacht, aber ich dachte es sollte
auch irgendwie direkt gehen, oder?
> Das geht bei mir auch nicht:
>
> echo $this->row->$this->fieldname;
>
> Wieso eigentlich nicht?
Jo, auf jeden Fall sitze ich mit dieser Frage nun nicht mehr alleine
da;-)
Gruesse
Julian
Re: Object von einem Objekt
am 14.09.2006 22:22:30 von Helmut Chang
Jens Himmelrath schrieb:
> Das geht bei mir auch nicht:
>
> echo $this->row->$this->fieldname;
Schon probiert?
echo $this->row->{$this->fieldname};
gruss, heli
Re: Object von einem Objekt
am 14.09.2006 22:26:21 von Jens Himmelrath
Helmut Chang schrieb:
> Jens Himmelrath schrieb:
>
>> Das geht bei mir auch nicht:
>>
>> echo $this->row->$this->fieldname;
>
> Schon probiert?
>
> echo $this->row->{$this->fieldname};
Jetzt ja. Es funktioniert. (PHP5)
Da das Problem nun gelöst ist: Weiß jemand woran es liegt?
regards,
Jens
Re: Object von einem Objekt
am 14.09.2006 22:28:10 von Julian Bessenroth
Helmut Chang schrieb:
> Schon probiert?
> echo $this->row->{$this->fieldname};
grrrrrrr, .... da habe ich alles moegliche ausprobiert (auch "...",
(...) und [...]), aber warum mache ich dann vor curly brackets schluss?
Danke, das war es auf jeden Fall;-)
Klarer Fall von: "Die wenigsten Leute scheiter! Sie geben nur zu frueh
auf."
regards
Julian