Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%)
|
Witam,
Chciałbym, aby na stronie głównej pokazywało się 5 ostatnich wpisów z tabeli, więc wykorzystałem taki kod:
Wszystko działa normalnie, poza tym, że strona ładuje się kosmicznie długo, po czym wpisy ładnie się pokazują, a nad nimi taki komunikat: Cytat Fatal error: Maximum execution time of 30 seconds exceeded in C:\Documents and Settings\Moje dokumenty\HTML\FILMY\odczyt_idx.php on line 35 Tabela ma raptem 7 wpisów, więc co za problem wyświetlić od końca 5 ostatnich? Co dopiero będzie kiedy w tabeli pojawią się wszystkie wpisy? (397) W php.ini zmieniłem nawet na 1000 sec ale anulowałem po 10min oczekiwania. Co mogę zrobić, aby to zapytanie było wykonywane jak trzeba? błyskawicznie. Drugi problem to "szukajka", mam taki kod:
No i wszystko ładnie działa, gdy wpisze się co kolwiek związanego z harrym potterem, wtedy ów film magicznie pojawia się jak trzeba, lecz gdy wpisze się czerwony październik, bądź przedwiośnie, to nie pokazuje się tak jak zapisałem w kodzie (tutaj chyba tego nie dałem), że nie znaleziono, tylko jest tak jakbym dopiero co otworzył stronę inaczej mówiąc, to, że w adresie jest dopisek Kod ?szukaj=czerwony&search=szukaj nic nie powoduje.Dlaczego z harrym działa elegancko a z resztą nie? I trzecie pytanie podobne do drugiego, mam również katalog, oto kod:
I tutaj również, po kliknięciu w "H", harry potter się objawia, ale po kliknięciu w "P", przedwiośnie już się nie pokazuje, zamiast tego widoczny jest tekst "Nie ma filmów na tą literę" Dlaczego tak się dzieje? Co mogę zrobić aby wszystko działało poprawnie? Proszę o pomoc. Z góry dziękuję. Pozdrawiam. Ten post edytował Rookie 17.08.2009, 19:10:53 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat Wszystko działa normalnie, poza tym, że strona ładuje się kosmicznie długo, po czym wpisy ładnie się pokazują, a nad nimi taki komunikat: A w ogóle masz indeksy w bazie? |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%)
|
Wszystko w bazie jest jak należy, chyba, że te indexy to jest coś o czym nie wiem jeszcze ;p, mógłbyś mi wyjaśnić łopatologiczniej o jakie indexy chodzi?
|
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
A pryszcz gdzieś wyskoczy, jeśli najpierw pogooglasz...? :|
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%)
|
No więc skoro sortuję od końca po `id_filmu`:
to id_filmu zrobiłem indexem, ale nadal wczytywanie trwa kosmicznie długo, na innej podstronie mam taki sposób:
i wyświetla wszystko błyskawicznie. A co z szukaniem i katalogiem? |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Co do szukania to niepotrzebnie dwa razy robisz to samo zapytanie.
robią dokładnie to samo, tyle że drugie jest posortowane, a używanie LIKE ostro po bazie Ci jedzie, co już na dzień dobry wydłuża działanie skryptu. Możesz od razu użyć drugiego. W obu skryptach jest ten niepotrzebny narzut. Inna sprawa, że niepotrzebnie robisz dwukrotnie pętlę while. W zupełności możesz wywalić ilość rekordów jeśli nie robisz wyświetlania na kilku stronach. W Twoim wypadku dla id filmu już samo użycie: da pożądane efekty. Ale jeśli już koniecznie chcesz licznik wierszy(numeracja) to przed while wrzuć zmienną którą wewnątrz while będziesz inkrementował czyli:
Co do szukania to winą możesz zapewne obarczyć polskie znaki diakrytyczne. W metodzie GET mogą sprawiać problemy. A gdy mowa o katalogu to skąd zapytanie ma rozpoznać co przechowuje zmienna $show? Nigdzie nie widać w kodzie jakiegokolwiek pobierania, czyszczenia czy przypisywania do zmiennej $show zmiennej z tablicy GET (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 23:19 |