Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Dobre rozwiązanie ?, php jezyki z bazy
noc_nik
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

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


Witam

Napisałem sobie taki mały kodzik do jezyków pobieranych z bazy:

  1. <?php
  2. include 'config.php';
  3. include 'template/template.inc.php';
  4.  
  5. $tmpl = new  Template('template/meta.tpl');
  6.  
  7.        $zapytanie    = 'SELECT * FROM meta where id='.ID.'';
  8.        $wykonaj    = mysql_query         ($zapytanie);
  9.         while(    $wiersz        = mysql_fetch_array ($wykonaj)){
  10.        
  11.    switch($_GET['lang']){
  12.    case $wiersz['jezyk_strony']:
  13.    $meta = Array(
  14.        'tytul_strony'              => $wiersz['tytul_strony'],
  15.        'slowa_kluczowe'         => $wiersz['slowa_kluczowe'],
  16.        'opis_strony'            => $wiersz['opis_strony'],
  17.        'adres_strony'            => $wiersz['adres_strony'],
  18.        'kodowanie_strony'        => $wiersz['kodowanie_strony'],
  19.        'jezyk_strony'            => $wiersz['jezyk_strony']
  20.        );            
  21.    break;
  22.    }
  23.    }
  24.      
  25. $tmpl->add($meta);
  26. echo $tmpl->execute();
  27. ?>




  1. CREATE TABLE `meta` (
  2. `id` text NOT NULL,
  3. `tytul_strony` text NOT NULL,
  4. `slowa_kluczowe` text NOT NULL,
  5. `opis_strony` text NOT NULL,
  6. `jezyk_strony` text NOT NULL,
  7. `kodowanie_strony` text NOT NULL,
  8. `adres_strony` text NOT NULL
  9. ) TYPE=MyISAM;
  10.  
  11. --
  12. -- Zrzut danych tabeli `meta`
  13. --
  14.  
  15. INSERT INTO `meta` VALUES ('1', 'Polski Tytuł strony', 'Polskie słowa Kluczowe', 'Polska wersja jesykowa', 'pl', 'iso-8859-2', 'moja.strona.pl');
  16. INSERT INTO `meta` VALUES ('1', 'Angielski Tytul Strony', 'Angielskie słowa kluczowe', 'Angielska wersja jesykowa', 'en', 'iso-8859-2', 'moja.strona.pl');



i np wybór jezyka to :

?lang=pl
?lang=en

Takie jak istnieją w bazie i czy to jest dobre rozwiazanie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) i co tu moge ulepszyć ?


Pozdrawiam
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Szkoda maltretować bazę na takie teksty, które zmieniają się rzadko kiedy. Skorzystaj z gettext" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
Gacek89
post
Post #3





Grupa: Zarejestrowani
Postów: 77
Pomógł: 8
Dołączył: 2.11.2007
Skąd: Katowice

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


moim zdaniem mozesz w zapytaniu do bazy dodac warunek który bedzie odpowadał za wybór jezyka, tak bedzie efektywniej
AND jezyk_strony='.$_GET['lang'].'

Ten post edytował Gacek89 29.11.2008, 16:35:32
Go to the top of the page
+Quote Post
noc_nik
post
Post #4





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

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


a jednak pojawił się kłopocik (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


  1. <?php
  2. switch($_GET['lang']){
  3.   case $wiersz['jezyk_strony']:
  4.   $meta = Array(
  5.       'tytul_strony'               => $wiersz['tytul_strony'],
  6.       'slowa_kluczowe'         => $wiersz['slowa_kluczowe'],
  7.       'opis_strony'               => $wiersz['opis_strony'],
  8.       'adres_strony'             => $wiersz['adres_strony'],
  9.       'kodowanie_strony'     => $wiersz['kodowanie_strony'],
  10.       'jezyk_strony'            => $wiersz['jezyk_strony']
  11.       );            
  12.   break;
  13.   }
  14.   }
  15. ?>


brak default automatycznie ustawionego na pl (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ktoś pomoże (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował noc_nik 29.11.2008, 17:34:30
Go to the top of the page
+Quote Post
Gacek89
post
Post #5





Grupa: Zarejestrowani
Postów: 77
Pomógł: 8
Dołączył: 2.11.2007
Skąd: Katowice

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


ciezko Ci to bedzie zrobic to w takiej formie jak masz, spróbuj wybór jezyka juz umieścic w zapytaniu do bazy, wyzej dałem Ci przykład,
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Język strony ustawiaj domyślnie na polski, ewentualną zmianę zapisuj w sesji i na podstawie tej informacji wybieraj język dla całej strony.
Go to the top of the page
+Quote Post
noc_nik
post
Post #7





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

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


No to sobi zrobiłem na sesjach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , ale nadal problem jest default (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) bo w takiej opcji musze sobie klikac wybór jezyka i $_POST["jezyk_strony"] bedzie przekazywany do sessji :

  1. <?php
  2. session_register("jezyk_strony");
  3. $_SESSION["jezyk_strony"]='pl';  //$_POST["jezyk_strony"]
  4.  
  5. include 'config.php';
  6. include 'template/template.inc.php';
  7.  
  8. $tmpl = new  Template('template/meta.tpl');
  9.  
  10. $zapytanie    = 'SELECT * FROM meta where id='.ID.' and jezyk_strony="'.$_SESSION["jezyk_strony"].'"'
  11.        or die (mysql_error());
  12.        $wykonaj    = mysql_query         ($zapytanie);
  13. while(    $wiersz        = mysql_fetch_array ($wykonaj)){
  14.            
  15.    $meta = Array(
  16.        'tytul_strony'              => $wiersz['tytul_strony'],
  17.        'slowa_kluczowe'         => $wiersz['slowa_kluczowe'],
  18.        'opis_strony'            => $wiersz['opis_strony'],
  19.        'adres_strony'            => $wiersz['adres_strony'],
  20.        'kodowanie_strony'        => $wiersz['kodowanie_strony'],
  21.        'jezyk_strony'            => $wiersz['jezyk_strony']
  22.        );                
  23.    }
  24.      
  25. $tmpl->add($meta);
  26. echo $tmpl->execute();
  27. ?>


Ten post edytował noc_nik 29.11.2008, 22:01:52
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. session_register("jezyk_strony");
  3. ?>

A po co to? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

  1. <?php
  2. $_SESSION["jezyk_strony"]='pl';  //$_POST["jezyk_strony"]
  3. ?>

Sprawdzaj przez empty" title="Zobacz w manualu PHP" target="_manual, czy jest ustawiony język - jeśli nie, wrzuć PL. Potem, przy wyborze języka, nadpisuj tę wartość.
Go to the top of the page
+Quote Post

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: 25.08.2025 - 07:37