![]() |
![]() |
--Początkujący-- |
![]()
Post
#1
|
Goście ![]() |
Siema, pisze sobie taką małą gierke via www. Jestem AMATOREM
![]() Mam kilka lokacji, i w glownym menu chce wyświetlać jego nazwę. W bazie mam tabele user, w której zapisuje lokacje w ktorej znajduje sie uzytkownik (liczbami). 0 => labirynt 1 => miasto1 2 => miasto2 3 => wies1 I teraz jak to wyświetlić, żeby nie zabieralo 'duzo' czasu ;p Myślałem o ifach i tablicy. Nie wiem czy to do konca dobre roziwazanie. IF'y:
Tablica Chyba, że w bazie uzyc stringa, nie inta ;p slyszalem ze szybciej baza dziala na liczbach. 2 pytanko dotyczy optymalizacji. najbardziej zalezy mi na jakims linku do dobrego tutorialu na temat optymalizacji skryptów php i zapytan sql szukałem, zeby nie było.. ale nie spełniało to moich oczekiwan :< chociaż jeśli ktoś chce napsiać to tutaj, to bardzo prosze ![]() |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
przechowujesz w bazie w formie INT lokalizacje , następnie wykorzystujesz składnie switch aby dla danego INTa przypisać odpowiednik link, nazwe lokalizacji jeśli w bazie masz wartość 1 to pojawi się Miasto Główne , jeśli 2 to Labirynt jeśli masz inną wartośc jak 1,2 wtedy zostaną pobrane wartości z default czyli dla pozostałych PS jeśli używasz wartości INT to '' lub "" stają się zbędne |
|
|
-Gość- |
![]()
Post
#3
|
Goście ![]() |
To będzie najszybsze tak?
![]() Dzięki. Czekam teraz na odpowiedz na 2 pytanie. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
zapewne dla Twoich podstaw to rozwiązanie wystarczy ale skoro jesteś tak bardzo ciekaw które jest najszybsze na początku strony daj $czas_generowania['start'] = microtime();
na koncu $czas_generowania['koniec'] = microtime(); oraz echo $czas_generowania['koniec'] = microtime() - $czas_generowania['start'] = microtime(); i tak dla każdego z rozwiązań wtedy zobaczysz które jest najbardziej efektywne jeśli chodzi optymalność to zbytnio Tobie nie pomogę, ale według mnie: 1 Co do bazy , powinieneś przede wszystkim dokładnie przemyśleć jej strukturę , tzn w jaki sposób przetrzymywać informacje , na jakie tabele podzielić , jakich pól do tego użyć , na które pola warto założyć INDEXy , unique itp sam "posiadam" małą gre via www i teraz muszę przebudowywać bazę ponieważ na samym początku źle przemyślałem i popełniłem błędy.. pamiętaj żeby tworzyć tak abyś miał jak najmniejszy problem w przyszłości jeżeli chciałbyś coś dodać , zmienić bądź usunąć |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@Ulysess z tym switchem to przesadziłeś. Tablica jaką przedstawił autor tematu, jako drugie rozwiązanie będzie zyliard razy szybsza, czytelniejsza i będzie zajmować mniej miejsca niż w przypadku twojego switcha.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Też uważam ,że tablica będzie optymalniejsza.Te switch'e fajnie się sprawdzają z selectami ,można wtedy jechać po wartościach ,nazwach,lub po indexach.Żeby wyrzucić z bazy id i case'ami jechać,to nie jest optymalne wyjście,ale zawsze jakieś
![]() Ten post edytował Niktoś 2.01.2012, 02:02:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:05 |