André Laugks: Bräuchte mal Hilfe ...

Beitrag lesen

Hallo!

Nun habe ich ein Feld (type: text) das angesprochen wird mit $sprache, nun enthält diese Spalte 3 unterschiedliche
Werte und zwar:

german.gif
engl.gif
mehrsprachig.gif

$out=str_replace ("german.gif", "Deutsch", $out);
$out=str_replace ("engl.gif", "Englisch", $out);
$out=str_replace ("mehrsprachig.gif", "Mehrsprachig", $out);

Hast Du mal geschaut, wie die Namen der Bilder eigentlich aus der DB kommen? Hängt eventuell ein Leerzeichen rum?

z.B.
$out = "german.gif "; // aus DB
------------------^
$out=str_replace ("german.gif", "Deutsch", $out);

Denke mal drüber nach, eine Tabelle anzulegen, in der die Daten zum Land stehen. Du hast jetzt eine Redundanz in Deiner Tabelle. Blödes Beispiel, was ist, wenn Du das Bildchen german.gif in deutsch.gif umbenennen möchtest?

sprache_id      bildname             bezeichnung
1               german.gif           Deutsch
2               engl.gif             Englisch
3               mehrsprachig.gif     Mehrsprachig

In Deiner anderen Tabelle, ersetzt Du die Bildnamen mit der entsprechenden sprache_id. Dann änderst Du die Spalteneingenschaft auf TINYINT oder INT(1).
Mit UPDATE kannst Du ersetzen.
UPDATE tabelle SET spaltenname=1 WHERE spaltenname="german.gif";

Über ein JOIN, holst Du Dir die passende Länderkennung, Bildname oder Bezeichnung. Dann kannst Du Dir auch das str_replace ersparen.

MfG, André Laugks