Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> własny system językowy
e4you
post
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 10.03.2004
Skąd: K-ce

Ostrzeżenie: (50%)
XXX--


Witam,

Nie lubie prośić o pomoc a zwłaszcza zwązaną z php i MySQL. ale nie wiem jak to rozgryść.

Więc

mam skrypt językowy który zmienia mi zawartośc strony na podstawie parametru lang w adresie

np : ?adres=test&lang=pl

i w/w adresie strona ma być w języku polskim itp...

Wszystko ma być wyciągane z mysql a nie z pliku , z pliku to proste. nie trzeba nic tlumaczyć

moja struktura bazy wyglada tak :

[sql:1:dd1d5d7401]

#
# Table structure for table 'lg'
#

CREATE TABLE lg (
wartosc text NOT NULL,
pl text NOT NULL,
de text NOT NULL
);

#
# Dumping data for table 'lg'
#
INSERT INTO lg VALUES ( '$lang001', 'Ty ', 'Du');
[/sql:1:dd1d5d7401]


Chciał bym zrobić ze skrypt sie nie wykona ale wyswetli w postaci takiej

[php:1:dd1d5d7401]<?php

$lang001 = 'Ty';
lub
$lang001 = 'Du';

?>[/php:1:dd1d5d7401]


w zależności od wersji jezykowej

ja mialem cos takiego :

[php:1:dd1d5d7401]<?php

$db = mysql_connect("localhost", "root", "roqogo+2");
mysql_select_db("lang", $db);
$pol = mysql_query ("SELECT * FROM lg WHERE $lang = '$lang'");
while($w = mysql_fetch_array($pol))
{
$wartosc= $w["wartosc"];
$pl= $w["pl"];
$de= $w["de"];
eval("$wartosc = '$lang';");
}

echo "test jezykowy :<br>";
echo "$lang001";

?>[/php:1:dd1d5d7401]

moze jakie propozycje ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wankster
post
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 0
Dołączył: 19.04.2003

Ostrzeżenie: (0%)
-----


Zauważyłeś, że podałeś dane do bazy?
---
A nie lepiej tak:[php:1:320b7a8c8b]<?php

mysql_connect();
mysql_select_db( 'aukcja' );

$result = mysql_query( 'SELECT wartosc, ' . $lang . ' FROM lg' );

while ( list( $variable, $value ) = mysql_fetch_row( $result ) )
{
$variable = subStr( $variable, 0, 1 ) == '$' ? subStr( $variable, 1, strLen( $variable ) ) : $variable;

${$variable} = $value;
}

?>[/php:1:320b7a8c8b]---
IMO to jest bezsensowny pomysł (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
---
Najlepiej zrobić jedną tabelę 'languages' z polami lang_id (automatycznie generowany ID), lang_name_english (np. Polish), lang_name_local (np. Polski), lang_charset (np. ISO-8859-2), lang_code (2-3 literowy kod kraju, np. PL). Później drugą tabelę 'languages_values' z polami value_id, lang_id (relacja do poprzedniej tabeli), value_name (unikalna nazwa identyfikująca wartość, np. example, add, delete), value_text (wartość, np. (kolejno): przykład, dodaj, usuń).
Później w zależności jaki kto ma język wybierasz sobie zapytaniem[sql:1:320b7a8c8b]SELECT v.value_name, v.value_text FROM languages l, languages_values v WHERE l.lang_code = $lang ORDER BY v.value_name ASC[/sql:1:320b7a8c8b]
W skrypcie wykonujesz zapytanko i tworzysz tablicę:[php:1:320b7a8c8b]<?php

// zapytanko...
$result = ...;

$LANG = array();

while ( $row = mysql_fetch_row( $result ) )
{
$LANG[ $row[0] ] = $row[1];
}

// odwolanie do zmiennej
// wynik: przykład
print $LANG['example'];

?>[/php:1:320b7a8c8b]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 18:56