mysql_fetch_array() überschreibt Array-Inhal
mysql_fetch_array() überschreibt Array-Inhal
am 08.04.2005 12:37:40 von Ralf Gmeiner
Hallo NG,
ich habe mittels LEFT JOIN zwei Tabellen miteinander verknüpft, die
teilweise gleiche Spaltennamen, aber mit anderen Inhalten enthalten.
SELECT t1.id,t1.bla,t2.id,t2.fid,t2.blub FROM t1 LEFT JOIN t2 on
t1.id=t2.fid
Wenn ich mit mysql_fetch_array() die Datensätze nun in ein Array schreibe
überschreibt t2.id aber den Wert für t1.id, da im Array der "t1."-Teil nicht
als Name mitgespeichert wird.
Array
(
[0] => Wert1
[id] => Wert3 (statt Wert1!)
[1] => Wert2
[bla] => Wert2
[2] => Wert3
Hier fehlt [id], stattdessen wurde oben Wert1 oben ersetzt.
[3] => Wert4
[fid] => Wert4
[4] => Wert5
[blub] => Wert5
)
Gibt es einen Trick, um das Array wiefolgt rendern zu lassen?
Array
(
[0] => Wert1
[t1.id] => Wert1
[1] => Wert2
[t1.bla] => Wert2
[2] => Wert3
[t2.id] => Wert3
[3] => Wert4
[t2.fid] => Wert4
[4] => Wert5
[t2.blub] => Wert5
)
Oder wie "geht man" normalerweise vor, wenn man Tabellen joined, die gleiche
Spaltennamen haben. Die Spaltennamen möchte ich nicht unbedingt ändern.
Viele Dank für Eure Hilfe
Ralf
Re: mysql_fetch_array() überschreibt Array-Inhalte bei LEFT JOIN
am 08.04.2005 12:47:21 von Fabian Schladitz
Ralf Gmeiner schrieb:
> SELECT t1.id,t1.bla,t2.id,t2.fid,t2.blub FROM t1 LEFT JOIN t2 on=20
> t1.id=3Dt2.fid
> Oder wie "geht man" normalerweise vor, wenn man Tabellen joined, die=20
> gleiche Spaltennamen haben. Die Spaltennamen möchte ich nicht unbedin=
gt=20
> ändern.
Du könntest SELECT t1.id as t1_id, t2.id as t2_id ... schreiben.
--=20
HTH,
Fabian
Re: mysql_fetch_array() überschreibt Array
am 08.04.2005 13:02:13 von Ralf Gmeiner
"Fabian Schladitz" schrieb...
> Du könntest SELECT t1.id as t1_id, t2.id as t2_id ... schreiben.
Die Mühe wollte ich mir eigentlich sparen, da es eine ganze Reihe von
Variablen ist, und ich daher mit SELECT * FROM ... abkürzen wollte.
Geht es nicht anders?
Viele Grüße
Ralf
Re: mysql_fetch_array() überschreibt Array-Inhalte bei LEFT JOIN
am 08.04.2005 14:57:48 von Niels Braczek
Ralf Gmeiner schrieb:
> "Fabian Schladitz" schrieb...
>
>> Du könntest SELECT t1.id as t1_id, t2.id as t2_id ... schreiben.
>
> Die Mühe wollte ich mir eigentlich sparen, da es eine ganze Reihe von
> Variablen ist, und ich daher mit SELECT * FROM ... abkürzen wollte.
Wolltest du lieber nicht.
16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html
MfG
Niels
Re: mysql_fetch_array() überschreibt Array
am 13.04.2005 22:17:31 von Ralf Gmeiner
"Niels Braczek" schrieb...
>> Die Mühe wollte ich mir eigentlich sparen, da es eine ganze Reihe von
>> Variablen ist, und ich daher mit SELECT * FROM ... abkürzen wollte.
>
> Wolltest du lieber nicht.
> 16.14. Warum soll ich nicht SELECT * schreiben?
> http://www.php-faq.de/q/q-sql-select.html
Mh, ja, das hatte ich auch schon mal gelesen, aber ich war trotzdem immer zu
faul, zumal ich keine BLOBs benutzt habe. Aber in diesem Fall bin ich nun
nicht drum herum gekommen.
Danke für Euer Feedback
Ralf