Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zbyt szybkie odświeżanie
Forum PHP.pl > Forum > Bazy danych > MySQL
kitol
Witam,

Mam stronkę na której jest wyświetlana pewna lista. Jej wartości są pobierane z bazy danych. Obok znajdują się linki "usuń". Po kliknięciu na link wykonuje się skrypt usuwający wszystkie wpisy o podanej kategorii z bazy, a stronka z listą się odświeża. Problem w tym, że lista zostaje odświeżona zanim wszystkie usuwane wpisy (dosyć dużo DELETE trwaka ok 1 sekundy) z daną kategorią znikną. Dopiero po powtórnym "ręcznym" odświeżeniu po kilku sekundach lista jest aktualna. Co muszę zrobić aby pierwsze (automatyczne) odświeżalie po kliknięciu na usuń pokazywało listę bez usuwanych elementów. Wolę rozwiązanie w mySQL. W php mógłbym zablokować wyświetlanie jednego elementu listy (identycznego z usuwaną kategorią) ale to rozwiązanie wydaje mi się mało eleganckie smile.gif Najlepiej aby SELECT został wykonany po zakończeniu DELETE w tabeli z kategoriami.
dr_bonzo
Huh?
1. Robisz to na jednej przegladarce jednoczescnie, czy na dwoch (..oknach), tak ze na jednym usuwasz a na drugim w tym samym czasie sywwietlasz ta liste?

2. Jak zrobiles to usuwanie? AJAX, bez niego czy jak?
kitol
Robię to na jednej przeglądarce bez ajaxa. Jest skrypt w PHP, który gdy ma podane odpowiednie parametry GET usuwa rekordy z bazy. Ten sam skrypt kilka lini później wyświetla listę i kończy działanie. Chodzi mi o to aby pomiędzy usunięciem (DELETE FROM..) a wyświetleniem (SELECT ...) wprowadzić opóźnienie (oczywiście sleep czy inne wait w PHP odpada)
nospor
Cytat
Jest skrypt w PHP, który gdy ma podane odpowiednie parametry GET usuwa rekordy z bazy. Ten sam skrypt kilka lini później wyświetla listę i kończy działanie.
Skrypty wykonują sie "pokolei". Czyli w tym przypadku dopóki nie skonczy sie kasowanie, to nie dojdzie do listy. Blad lezy wiec w czyms innym
Piniek
moze cache przegladarki questionmark.gif cool.gif
kitol
cache chyba odpada bo w nagłówku strony mam:
  1. <meta http-equiv="Expires" content="0" />
  2. <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" />
  3. <meta http-equiv="Cache-Control" content="post-check=0, pre-check=0" />
  4. <meta http-equiv="Pragma" content="no-cache" />

Chyba nie powinno się cache`ować?
Co do wykonywania skryptów to rozumiem, że po kolei smile.gif
Czy skrypt czeka na zakończenie wykonywania każdego zapytania do bazy? Wydaje mi się że SELECT następuje zanim zostanie ukończony DELETE
nowotny
Pokaż kod to od razu będzie wiadomo... Jakiej przeglądarki używasz...?
dr_bonzo
Cytat
Czy skrypt czeka na zakończenie wykonywania każdego zapytania do bazy? Wydaje mi się że SELECT następuje zanim zostanie ukończony DELETE

Najpierw SELECT POTEM DELETE, nie rowoczesnie.
nowotny
Cytat(dr_bonzo @ 11.02.2008, 13:32:30 ) *
Najpierw SELECT POTEM DELETE, nie rowoczesnie.

Chyba odwrotnie... winksmiley.jpg
dr_bonzo
yyy, eeee, wlasnie o to mi chodzilo smile.gif
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.