Autor Zpráva
Orlik
Profil
Upravuji firemní web, ve kterém je jedna tabulka, která obsahuje obrázky. Tato jedna tabulka je určena pro českou i v anglickou verzi, jelikož dosud neobsahovala žádný text, jenom obrázky. Nyní vznikl požadavek doplnit do tabulky jednoduchý text, ale aby se zobrazoval v české i anglické verzi v příslušném jazyce. Nevím jestli musím udělat novou tabulku pro anglickou verzi, nebo jestli je to možné zapsat kódem do jednoho *.php souboru tak, aby se v každé jazykové verzi zobrazil příslušný správný text. Např. v češtině "Aktuální vydání" a v angličtině "Current edition" Zkoušel jsem zápis ve tvaru:
<!--:cs-->
<p>Ukončená edice:</p>
<!--:en-->
<p>Completed edition:</p>

ale to mi nefunguje. No nejsem znalý PHP, obměňuji v tom webu jen texty.

Děkuji za případnou radu.
JaySee
Profil
Také jsem musel řešit podobný problém a nakonec jsem si poradil následovně. Zvolil jsem si nějakou nepravděpodobnou sekvenci znaků (třeba #NEXT#) a do databáze to uložil jako "Česky#NEXT#Anglicky#NEXT#Rusky#NEXT#Spanelsky" .. a pak to v PHP načetl z databáze jako třeba $Data["popisek"] a prohnal to funkcí exlpode... tedy $popis = explode("#NEXT#",$Data["popisek"]);

Čímž mám pod $popis[0]; -> češtinu || $popis[1]; ->anličtinu || $popis[2]; -> ruštinu....

Jen je třeba důsledně dodržovat pořadí jazyků a ikdyby neměl být popisek vyplněn, tak zapsat #NEXT# do databáze.

Není to uplně nejelegantnější řešení, ale rozhodně funguje a je primitivní na implementaci. Tak snad pomůže.
nemeja
Profil
Nebylo by jednodušší přidat do tabulky sloupce pro jednotlivé mutace?
Př. tabulka clanky:
id | cz | en
1 | ahoj | hi


v php potom:
$dotaz = mysql_fetch_assoc(mysql_query("SELECT * FROM clanky WHERE id = 1"));
$cz = $dotaz ['cz'];
$en = $dotaz['en'];
JaySee
Profil
nemeja:
určitě by to bylo lepší:-D když jsem psal tu odpověď, nějak mi uniklo, že Orlik může manipulovat s tabulkami v databázi :-D Pochopil jsem to jako že potřebuje pirátit v jednom sloupci.
Ugo
Profil
kdybych potřeboval pirátit v jednom sloupci tak bych spíš volil serialize() pole, jako klíč jazyk a je to celkem univerzální
Orlik
Profil
Všem kdo přispěli velké díky, řešení od nemeja funguje. Je vyřešeno, skvělé!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: