Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 09.02.2006, 10:12   #1
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay hilft, wo's gehtjayjay hilft, wo's geht

[php mysql] verschiedene sprachen auslesen


wie kann ich verschiedene sprachen aus einer tabelle auslesen?
die sprache wird als var mitgeliefert in form: page.php?lang=de&page=kontakt
ich möchte, dass je nach 'lang' die jeweilige spalte ausgegeben wird.
__________________
computer tun nur das was man ihnen sagt, meistens

wenn's geholfen hat - bewerte
jayjay ist offline   Mit Zitat antworten


Alt 09.02.2006, 10:15   #2
TP-Moderator
 
Benutzerbild von Cybergreek
 
Registriert seit: Nov 2005
Ort: Köln
Cybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKE
Du nimmst Dein $_GET["lang"] und baust abhängig davon Deine mySQL-Abfrage auf.

Also sowas:
PHP-Code:
if ($_GET["lang"]=="de")
{
 
$abfrage "SELECT spalte_mit_Sprache_de FROM tabelle";
}
elseif (
$_GET["lang"]=="en")
{
 
$abfrage "SELECT spalte_mit_Sprache_en FROM tabelle";
}
usw.. 
__________________
Grüße vom Griechen,
Cybergreek!

WikiDict.de - Das Wiki-Wörterbuch
Cybergreek ist offline   Mit Zitat antworten
Alt 23.02.2006, 17:33   #3
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay hilft, wo's gehtjayjay hilft, wo's geht
und für alle nicht definierten

else
{
$abfrage = "SELECT spalte_mit_Sprache_en FROM tabelle";
}

danke. eigentlich logisch.
__________________
computer tun nur das was man ihnen sagt, meistens

wenn's geholfen hat - bewerte
jayjay ist offline   Mit Zitat antworten
Alt 03.09.2007, 16:17   #4
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay hilft, wo's gehtjayjay hilft, wo's geht
mal zum aufwärmen, ich habe vor das hier weiter so durchzuziehen:
tab 1:
id | sprache
1 | deutsch
2 | englisch

tab 2:
id | sprach_id | text_id | text
1 | 1 | 1| Hallo
2 | 2 | 1| Hello

dh alle texte untereinander, was haltet ihr davon?
__________________
computer tun nur das was man ihnen sagt, meistens

wenn's geholfen hat - bewerte
jayjay ist offline   Mit Zitat antworten
Alt 08.09.2007, 14:12   #5
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKE
Da hier immer eine 1:1-Beziehung besteht (zu jeder Text-Id muss es einen entsprechenden Datensatz in der jeweiligen Sprache geben), sehe ich hier nicht die Notwendigkeit einer Normalisierung. Im Gegenteil: die Verknüpfung mittels JOINs macht die Ausgabe eher langsamer. Und da wahrscheinlich auf jeder Seite sprachspezifische Ausgaben gemacht werden sollen, halte ich die Performance hier für das wichtigere Argument.

Deshalb würde ich die Tabelle so aufbauen:
id | text_ID | en | de | fr | ....

Damit sparst Du Dir dann Verknüpfungen mittels JOIN und brauchst nur die sprachspezifische Spalte von mySQL abholen.

Code:
SELECT $sprache FROM `texte`
Eventuell koennte man noch darüber nachdenken die Sprachtabelle in die unterschiedlichen Bereiche der Webseite einzuteilen, um die erzeugte Last am MySQL-Server weiter einzuschränken, indem man nur die Werte für die Kombination aus Sprache und Bereich abholt.

Um eine neue Sprache anzulegen, muss man dann in der Tabelle lediglich händisch eine weitere Spalte für die neue Sprache anlegen.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 12.09.2007, 09:10   #6
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay hilft, wo's gehtjayjay hilft, wo's geht
also doch die erste variante?
__________________
computer tun nur das was man ihnen sagt, meistens

wenn's geholfen hat - bewerte
jayjay ist offline   Mit Zitat antworten
Alt 26.02.2008, 14:48   #7
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay hilft, wo's gehtjayjay hilft, wo's geht
ist ne weile her aber ein prob habe ich noch,
id | de | en | es
1 | textde1 | texten1 | textes1
2 | textde2 | texten2 | leer
3 | textde3 | leer | leer
4 | textde4 | texten4 | textes4

deutsch komplett, aber zb für es ist nur 1 und 4 vorhanden, also wenn gefühlt dann zeigen sonst en, wenn auch en leer dann de
dann müsste sowas rauskommen:

1 textes1
2 texten2
3 textde3
4 textes4

hat da jemand nen tipp?
__________________
computer tun nur das was man ihnen sagt, meistens

wenn's geholfen hat - bewerte
jayjay ist offline   Mit Zitat antworten
Alt 26.02.2008, 15:08   #8
TP-Moderator
 
Benutzerbild von Cybergreek
 
Registriert seit: Nov 2005
Ort: Köln
Cybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKE
Du brauchst dann sowas in der Art:
Code:
SELECT
  CASE 
    WHEN es IS NOT NULL THEN es
    ELSE CASE 
          WHEN en IS NOT NULL THEN en
          ELSE de
          END
  END
FROM tabelle
PS: "wenn gefühlt dann" ist ein schönes Kriterium
__________________
Grüße vom Griechen,
Cybergreek!

WikiDict.de - Das Wiki-Wörterbuch
Cybergreek ist offline   Mit Zitat antworten
Alt 26.02.2008, 16:10   #9
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay hilft, wo's gehtjayjay hilft, wo's geht
das ist das wetter, ich fülle mich auch so

super, hatte schon was in der richtung gesucht, funzt aber nicht.
PHP-Code:
$aktsprache $_GET['lang'];
                
$prodnavsub "
                    SELECT 
                        CASE 
                            WHEN $aktsprache IS NOT NULL THEN $aktsprache
                            ELSE CASE 
                                WHEN en IS NOT NULL THEN en
                                ELSE de
                            END
                        END
                    FROM 
                        $t_lin
                    WHERE
                        NOT $t_lin.lin_rei_fol='0'
                    GROUP BY 
                        $t_lin.lin_id
                    ORDER BY 
                        $t_lin.lin_rei_fol
                "
;
echo 
$rowprodsub[$aktsprache]; 
__________________
computer tun nur das was man ihnen sagt, meistens

wenn's geholfen hat - bewerte
jayjay ist offline   Mit Zitat antworten
Alt 26.02.2008, 16:31   #10
TP-Moderator
 
Benutzerbild von Cybergreek
 
Registriert seit: Nov 2005
Ort: Köln
Cybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von jayjay Beitrag anzeigen
...funzt aber nicht.
Wie äußert sich denn dieses nicht-funzen?
__________________
Grüße vom Griechen,
Cybergreek!

WikiDict.de - Das Wiki-Wörterbuch
Cybergreek ist offline   Mit Zitat antworten
Alt 26.02.2008, 16:33   #11
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay hilft, wo's gehtjayjay hilft, wo's geht
kam kein ergebnis
hab jetzt folgendes gemacht:
PHP-Code:
if (($rowprodsub[$aktsprache]) == NULL) {
    
$aktsprachen $rowprodsub['en'];
    if (
$rowprodsub['en'] == NULL) {
        
$aktsprachen $rowprodsub['de'];
    }
}
else {
    
$aktsprachen $rowprodsub[$aktsprache];

scheint zu laufen
__________________
computer tun nur das was man ihnen sagt, meistens

wenn's geholfen hat - bewerte
jayjay ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[php mysql] verschiedene sprachen auslesen [php mysql] verschiedene sprachen auslesen
« Regulärer Ausdruck | seltsames verrutschen einer php-includierung »

Stichworte
datenbank, mysql

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67