![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 13 Dołączył: 7.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Od pewnego czasu w moich projektach zmagam się z problemem update'owania rekordów MySQL i późniejszego wyciągania ich z bazy. W pliku mysql.php, odpowiedzialnym za łączenie z bazą, mam zapytanie wyciągające wszelkie informacje o użytkowniku z tabeli users. Wszystko pięknie działa, jednak kiedy aktualizuję jakiś wpis, muszę ponownie wykonywać zapytanie wyciągające dane o użytkowniku, bo poprzedni select wykonywany był przed aktualizacją i dostarcza stare dane. Przy jednym zapytaniu nie ma to raczej wpływu na wydajność skryptu, ale jeśli zapytań mamy więcej, a strona ma wielu użytkowników, może pojawić się problem (tak sądzę). Kompletnie bez sensu jest odświeżanie strony po aktualizacji danych. Teoretycznie mógłbym przed wyświetlanie informacji sprawdzać, czy zostało wykonane zapytanie update'ujące i wyświetlać jej wartość $_POST, ale czy to jest dobre rozwiązanie? Co o tym sądzicie? Jak sobie radzicie z tym problemem? Pozdrawiam i czekam na nasze opinie ![]() -------------------- www.dapi.net.pl - Wiele technologii, jedna pasja.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
ale skoro jednym zapytaniem wyświetlasz dane z bazy i później innym zapytaniem te dane modyfikujesz i one są podmieniane w bazie to jak za drugim razem może Ci ściągnąć dane przed aktualizacja mimo ze w bazie znajdują się już zmodyfikowane dane?
Chyba ze nie modyfikujesz dane w konkretnej tabeli, tylko modyfikując je wpisujesz je do innej tabeli ? Ten post edytował freelinkz 8.07.2011, 14:45:59 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 13 Dołączył: 7.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie nie nie
![]() Właśnie o to chodzi, że drugie zapytanie pobierające dane wyświetla dane zaktualizowane. Tyle, że obecnie muszę wykonywać 3 zapytania (SELECT, UPDATE, SELECT), a chciałbym to ograniczyć do 2 zapytań. Przy aktualizacji większej ilości tabel/rekordów liczba zapytań rośnie. -------------------- www.dapi.net.pl - Wiele technologii, jedna pasja.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Zastanów się czy pierwszy SELECT jest ci do czegoś potrzebny? Zamiast:
wystarczy Przykład dość hipotetyczny - ale czasami zdarza się, że nie trzeba pobierać danych, które będzie się UPDATE'owało. ps. polecam też przyjrzeć się temu Ten post edytował CuteOne 8.07.2011, 15:49:56 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 13 Dołączył: 7.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy select jest wykonywany za każdym razem zaraz po połączeniu z bazą.
Jak update'uję dane, to jest on zbędny, tyle, że nie mam raczej możliwość nie wykonywania go. -------------------- www.dapi.net.pl - Wiele technologii, jedna pasja.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:11 |