PHP/MySQL Problem

Antworten
Benutzeravatar
calli
Beiträge: 6970
Registriert: 22.11.2004 12:40:52
Wohnort: Berlin
Kontaktdaten:

#1 PHP/MySQL Problem

Beitrag von calli »

Hier gibts ja einige die sich mit sowas auskennen :)

Ich kam wie die Jungfrau zum Kinde zu dem Projekt, an sich kann ich eine Menge Googeln und dann umsetzten, hier stoße ich aber an meine Grenzen weil mir vermutlich auch das Hintergrundwissen fehlt um die richtigen Suchen zu machen.

In einer MySQL Datebank gibt es Spalten mit Namen wie Titel_de und Titel_en.

Im PHP gibt es eine $lang mit "de" oder "en"

Um jetzt den richtigen String zu holen geht:

Code: Alles auswählen

$result = mysql_query("SELECT * FROM aktionen ORDER BY Titel_$lang DESC");
	while($row = mysql_fetch_object($result)) 
	{
               $titel = "Titel_".$lang;
		echo $row->$titel;
        }
....
Das geht ist aber recht umständlich...

Gibt es nun eine Möglichkeit direkt $lang in dem Teil hinter dem -> zu verwenden?

(das geht nicht...)

Code: Alles auswählen

		echo $row->"Titel".$lang;
Hoffe ich bin verständlich rüber gekommen ;-)

Gruß,
Carsten
Status: Flugtagebuch (grün=ok, orange=in Arbeit, rot=groundet)
Setup: Humingbird, Trex500ESP/FBL, WiiCopter, PZ Bf109, Easy Glider, Nuris, MCPx, MQX, Sim, Evo9 M-Link, DMFV
Benutzeravatar
calli
Beiträge: 6970
Registriert: 22.11.2004 12:40:52
Wohnort: Berlin
Kontaktdaten:

#2 Re: PHP/MySQL Problem

Beitrag von calli »

Erm. 1 Minute später habe ich das "AS" Schlüsselwort für Abfragen gefunden...

$result = mysql_query("SELECT Text_$lang AS Text,Titel_$lang AS Titel, id FROM aktionen ORDER BY `Titel_$lang`DESC");

Mal sehen wie weit ich damit komme. Die Abfragen werden etwas unübersichtlicher aber danach ist es so klarer...

Carsten
Status: Flugtagebuch (grün=ok, orange=in Arbeit, rot=groundet)
Setup: Humingbird, Trex500ESP/FBL, WiiCopter, PZ Bf109, Easy Glider, Nuris, MCPx, MQX, Sim, Evo9 M-Link, DMFV
Benutzeravatar
tracer
Operator
Operator
Beiträge: 63783
Registriert: 18.08.2004 18:50:03
Wohnort: Kollmar
Kontaktdaten:

#3 Re: PHP/MySQL Problem

Beitrag von tracer »

Abgesehen davon, dass der ganze mysql Kram recht deprecated ist (siehe DBO), warum liest Du nicht 1x in einer Funktion/Methode die jeweils passende lang in ein Assoc-Array ein?
Benutzeravatar
calli
Beiträge: 6970
Registriert: 22.11.2004 12:40:52
Wohnort: Berlin
Kontaktdaten:

#4 Re: PHP/MySQL Problem

Beitrag von calli »

Moins Tracer,

ich bin nicht ganz sicher ob ich Dich verstehe, aber ich benutze Arrays für die Übersetzung der Seiten, nur die Felder aus der DB werden vom Kunden in DE/EN in die Datenbank eingegeben.

So bin ich ganz glücklich mit der Methode, ist auch zukunftssicher wenn noch eine Sprache dazukommt.

Mysql Kram deprecated? DBO?

:oops: Carsten
Status: Flugtagebuch (grün=ok, orange=in Arbeit, rot=groundet)
Setup: Humingbird, Trex500ESP/FBL, WiiCopter, PZ Bf109, Easy Glider, Nuris, MCPx, MQX, Sim, Evo9 M-Link, DMFV
Benutzeravatar
tracer
Operator
Operator
Beiträge: 63783
Registriert: 18.08.2004 18:50:03
Wohnort: Kollmar
Kontaktdaten:

#5 Re: PHP/MySQL Problem

Beitrag von tracer »

calli hat geschrieben:ich bin nicht ganz sicher ob ich Dich verstehe, aber ich benutze Arrays für die Übersetzung der Seiten, nur die Felder aus der DB werden vom Kunden in DE/EN in die Datenbank eingegeben.
Ich dachte an etwas wie "SELECT value, translation FROM lang_table WHERE lang = $lang", das Ergebnis dann in ein assoziatives Array übernehmen.
Als Index den Wert, als Inhalt die Translation.

Dann kannst Du z.B. mit $lang['mein_wert'] auf den Wert in der jeweiligen Sprache zugreifen.

Ich weiss aber nicht, ob Du das so umsetzen kannst, kenne ja die Strukturen und Vorgaben nicht.
calli hat geschrieben:Mysql Kram deprecated? DBO?
Sorry, PDO, mein Fehler.

Ja, man sollte die mysql_ Sachen eigentlich nicht mehr nehmen. Werden von aktuellen Versionen auch nicht mehr unterstütz.
Entweder MySQLi oder PDO.

PDO ist abstrakter, also leichter zu portieren, ausserdem sind prepared statements komfortabler.

http://www.php.net/manual/de/book.pdo.php
Benutzeravatar
calli
Beiträge: 6970
Registriert: 22.11.2004 12:40:52
Wohnort: Berlin
Kontaktdaten:

#6 Re: PHP/MySQL Problem

Beitrag von calli »

Uh, muss ich checken.

Grad MySQLi scheint ja recht leicht zu portieren zu sein (vom Alten Schema dahin).

Danke,
Carsten
Status: Flugtagebuch (grün=ok, orange=in Arbeit, rot=groundet)
Setup: Humingbird, Trex500ESP/FBL, WiiCopter, PZ Bf109, Easy Glider, Nuris, MCPx, MQX, Sim, Evo9 M-Link, DMFV
Benutzeravatar
tracer
Operator
Operator
Beiträge: 63783
Registriert: 18.08.2004 18:50:03
Wohnort: Kollmar
Kontaktdaten:

#7 Re: PHP/MySQL Problem

Beitrag von tracer »

calli hat geschrieben:Grad MySQLi scheint ja recht leicht zu portieren zu sein (vom Alten Schema dahin).
Ja, das geht recht easy.

Obwohl ich mittlerweile PDO nutze, halt wegen der prepared statements.
Antworten

Zurück zu „PC & Multimedia“