Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> select z wyborem kraju w 2 jezykach.
MalyKazio
post 27.05.2006, 13:55:53
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Witam,

Mam do stworzenia bazę danych, gdzie użytkownik wybierałby kraj pochodzenia. Problem jest jednak w tym, że kraje te muszą być w dwóch językach w zależności od języka wybranego przez użytkownika. Kłopot pojawił się już na etapie tworzenia <SECLET> w formularzu bowiem musiałem stworzyć dwa selecty, osobny dla każdego języka. W zależności od wybranego języka includowałem odpowiedni plik i tak jeśli $jezyk = pol wczytywałem kraje_pol.php, dla $jezyk = eng wczytywałem kraje_eng.php. Osobne formularze zrobiłem ze względu na kłopot w sortowaniu. Bez względu na język kraje musiały mieć to samo ID natomiast posortowane musiały być alfabetycznie dlatego uznałem, że jedyną metodą która znam jest stworzenie dwóch zestawów:

  1. <option value=\"0\" selected=\"selected\">Wybierz kraj</option>
  2. <option value=\"1\">Afganistan</option>
  3. <option value=\"2\">Albania</option>
  4. <option value=\"3\">Algieria</option>


itp.
Teraz przyszło mi zmierzyć się z jeszcze większym problemem. W przypadku edycji danych, musi być zaznaczone pole, które użytkownik już wybrał. W innym miejscu, w podobnej sytuacji stosowalem do tego:
  1. <?php
  2. echo "miesiąc <SELECT NAME="miesiac"><OPTION";
  3. if ($row2[miesiac] == 0) echo " SELECTED";
  4. echo " VALUE="0">--</OPTION>";
  5. for ($m = 1; $m <= 12; $m++) {
  6. echo "<OPTION";
  7. if ($m == $row2[miesiac]) echo " SELECTED";
  8. echo " VALUE="$m">$m</OPTION>";
  9. }
  10. ?>


jednak teraz, przy 220 krajach, sprawdzanie 440 razy (w dwoch miejscach jest kraj) warunku if chyba mija się z celem. Czy ktoś może podpowiedzieć jakieś rozwiązanie?


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post
Cysiaczek
post 27.05.2006, 15:25:28
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Czy ja dobrze zrozumiałem? Chcesz wprowadzić 440 instrukcji warunkoych?questionmark.gif
Oj to na pewno nie jest dobry pomysł biggrin.gif

1. Wypisz sobie te kraje (w pliku txt, xml'u lub bazie danych).
2. przypisz każdemu identyfikator np.
1(Polska,Poland) (to niekoniecznie musi być tak)

3. Stwórz funkcję, która sprawdzi, czy wybrany kraj jest na twojej liście.

zapomnij w tym przypadku o if else


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
MalyKazio
post 27.05.2006, 15:43:09
Post #3





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Własnie wolałbym uniknąć takiej masakry smile.gif
Zastanawiałem się nad wrzuceniem tego do bazy danych na podobnej zasadzie o której piszesz.
Poza tym nadal nie wiem co zrobić żeby jakoś zaznaczyć wybrane pole. Na pewnie nie użyje 440 x IF. Może po prostu na pierwszej pozycji dam wybrane pole np <OPTION VALUE="34" SELECTED>Madagaskar</OPTION> a potem niżej po prostu jeszcze raz wyświetlę wszystkie możliwości (łącznie z tym już zaznaczonym wyżej - będzie się powtarzał.


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post
tomekp
post 27.05.2006, 16:14:24
Post #4





Grupa: Zarejestrowani
Postów: 171
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Krakół

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


Stwórz sobie dwie tablice z nazwami krajów, i sprawdzaj if'em której ma użyć.
A co do tego sprawdzania, to nie wiem w jaki sposób inaczej byś to mógł zrobić, ja myślę osobiście, że z if'ami nie jest źle.
Sam sprawdzam sobie w ten sposób województwo i kraj.

Ten post edytował tomekp 27.05.2006, 16:16:11


--------------------
escape from the execution is futile.
Go to the top of the page
+Quote Post
erix
post 28.05.2006, 19:01:29
Post #5





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




Cytat
Sam sprawdzam sobie w ten sposób województwo i kraj.

wojewodztw masz 16, a krajow troche wiecej...

rozwiazanie juz dal Cysiaczek


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 22:51