Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP][PHP/SQL] Pomoc z obsługą pogody dla wielu miast
oi.
post
Post #1





Grupa: Zarejestrowani
Postów: 145
Pomógł: 1
Dołączył: 12.07.2006

Ostrzeżenie: (10%)
X----


Witam, szukam optymalnego rozwiązania dla skryptu pogody dla wszystkich miast powiatowych w Polsce.
Zrobiłem dla 1 województwa kilkanaście plików php o strukturze
pogoda-wroclaw.php , pogoda-walbrzych.php ....
w pliku .htaccess
zamieniam to na html
  1. RewriteRule ^pogoda-wroclaw.html$ pogoda-wroclaw.php [L]


W efekcie na serwerze powstaje mi ok 20 miast x 16 województw do tego plik htaccess rozrasta się w nieskończoność.

Myśle nad wykorzystaniem CASE gdzie w każdym warunku będzie nowe miasto. Czy to optymalne rozwiązanie ? Czy kilkaset warunków case nie będzie zbytnio obciążało serwera -czy lepszym rozwiązaniem będzie stworzenie 16 plików /województw/ a w nich około 20 warunków case ?
Proszę o naprowadzenie mnie na dobry tok myślenia.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Rzecz której Ci potrzeba to Stemming. Czyli zamiany formy odmiany słowa do formy podstawowej. Czyli u Ciebie zamiana słowa "Wrocławiu" na "Wrocław".
Są 2 odmiany stemmerów. Jeden z nich to słownikowy (czyli po prostu "mapa" np "Wrocławia" zamień na "Wrocław") i raczej tym powinieneś się zainteresować (a właściwie napisać).
Co do procesu jak miałoby to działać to
1)
Kod
RewriteRule ^pogoda-([^;]*).html pogoda.php?city=$1 [L]

Jest ok ze względu na uniwersalność.
2) Bazę miast utwórz jako oddzielną tabelę (miasta - id_miasto, nazwa_miasta)
3) Bazę słownikową odmian jak oddzieną tabelę (odmiana_miast - slowo, id_miasta)
4) Tutaj twoja tabela pogody (pogoda)
5) Przy dodawaniu nowego opisu pogody przepuszczasz nazwę miasta przez proces wyszukujący powiązania odmiany w tabeli "odmiana_miasto"
6) Jeżeli nie znajdzie wyniku w tabeli "odmiana_miasto" szukasz wyniku po tabeli "miasta".
7) Jeżeli 5 i 6 nie zwróci wyniku to sorry jest błąd
8) Jeżeli 5 bądź 6 zwróci wynik to masz id_miasta które wstawisz do tabeli "pogoda".
Dzięki temu wiesz po jakim id_miasta szukać.
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: 14.10.2025 - 14:26