Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzenie zmiany wartości rekordu SQL przez PHP
Forum PHP.pl > Forum > PHP
endr1u
Cześć,

Od dwóch dni próbuję się uporać z pewnym problemem. Otóż, w skrypcie, którzy tworzę muszę zarejestrować, wychwycić zmianę wartości rekordu w komórce bazy MySQL.

Jest sobie stronka akcja.php, odświeżana automatycznie co 5 sekund.

Na stronie wyświetlana jest wartość pochodząca z bazy MySQL - wartość tej komórki wynosi przykładowo: 10.
  1. SELECT `uzbieranakwota` FROM `akcjacharytatywna` WHERE `id` = 0


Następnie inny użytkownik wciska, na innym ekranie przycisk dodania pewnej wartości wartości do komórki `uzbieranakwota`
  1. UPDATE `akcjacharytatywna` SET `uzbieranakwota` = `uzbieranakwota` + 2 WHERE `akcjacharytatywna`.`id` = 0;


Problem, z którym nie mogę sobie poradzić polega na tym, że nie wiem w jaki sposób sprawdzić podczas automatycznego odświeżania stron akcja.php, czy komórka `uzbieranakwota` zmieniła wartość. Jeżeli zmieniła wartość, wówczas PHP powinien wypluć alert o zmiane wartości, w przeciwnym razie również powinien pokazać stosowny komunikat.

  1. if ($row['uzbieranakwota'] != $row['uzbieranakwota'])
  2. {
  3. echo "kwota zmienila wartosc";
  4. }
  5. else
  6. {
  7. echo "wartosc bez zmian";
  8. }


Powyższy kod nie działa, ale tylko taki mam na to pomysł. Będę wdzięczny za każdą pomoc!
koodo218
Zapisz wartość pierwszego zapytania do zmiennej i porównuj z tym co wysłał użytkownik.
endr1u
Cytat(koodo218 @ 2.02.2016, 17:52:53 ) *
Zapisz wartość pierwszego zapytania do zmiennej i porównuj z tym co wysłał użytkownik.


Możesz podać przykład jakbyś to zrobił?
markuz
  1. if(!isset($_SESSION['uzbieranakwota'])) {
  2. $_SESSION['uzbieranakwota'] = $row['uzbieranakwota'];
  3. echo "pierwsze wejscie";
  4. } elseif ($_SESSION['uzbieranakwota'] == $row['uzbieranakwota']) {
  5. echo "wartosc bez zmian";
  6. } else {
  7. echo "kwota zmienila wartosc";
  8. $_SESSION['uzbieranakwota'] = $row['uzbieranakwota'];
  9. }

Tak zrozumiałem.
endr1u
Cytat(markuz @ 2.02.2016, 18:49:34 ) *
  1. if(!isset($_SESSION['uzbieranakwota'])) {
  2. $_SESSION['uzbieranakwota'] = $row['uzbieranakwota'];
  3. echo "pierwsze wejscie";
  4. } elseif ($_SESSION['uzbieranakwota'] == $row['uzbieranakwota']) {
  5. echo "wartosc bez zmian";
  6. } else {
  7. echo "kwota zmienila wartosc";
  8. $_SESSION['uzbieranakwota'] = $row['uzbieranakwota'];
  9. }

Tak zrozumiałem.


Konkretna odpowiedź! Kod działa smile.gif Bardzo mi pomogłeś. Dziękuję!
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.