if($user['rpg_points'] < 10) { message('Musisz mieć 10 punktow, aby zatrudnić oficera. <br> <a href=oficerowie.php>Wróć</a>','System'); } $geolog = "UPDATE {{table}} SET "; $geolog .= "`rpg_points` = `rpg_points` - '10', "; $geolog .= "`rpg_geologue` = `rpg_geologue` + '1' "; $geolog .= "WHERE "; $geolog .= "`id` = '". $user['id']."' "; doquery( $geolog , "users"); message('Zatrudniłeś geologa.<br><a href=oficerowie.php>Wróć</a>','System');
I przy monotonnym klikaniu (nieustannym, aż się przeładuje), zapytanie wykona się dwa razy, choć mamy punktów na 1 raz.
Gdzieś mi ktoś napisał, że php wykonuje się szybciej niż zapytanie, dlatego się tak dzieje.
Dostałem też od kogoś rozwiązanie, jednak nie wiem jak to ma wyglądać w powyższym kodzie - trzymanie danych w sesji przed wykonaniem.
Dlatego był prosił o przykład na podstawie powyższego kodu.