Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dobre rozwiązanie ?
Forum PHP.pl > Forum > Przedszkole
noc_nik
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 questionmark.gif i co tu moge ulepszyć ?


Pozdrawiam
erix
Szkoda maltretować bazę na takie teksty, które zmieniają się rzadko kiedy. Skorzystaj z gettext" title="Zobacz w manualu PHP" target="_manual.
Gacek89
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'].'
noc_nik
a jednak pojawił się kłopocik 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 sad.gif ktoś pomoże questionmark.gif
Gacek89
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,
erix
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.
noc_nik
No to sobi zrobiłem na sesjach smile.gif , ale nadal problem jest 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. ?>
erix
  1. <?php
  2. session_register("jezyk_strony");
  3. ?>

A po co to? 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ść.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.