Юра123456н
if(isset($_POST[‘spei’])){
$sql = «SELECT navuk FROM resurss WHERE id = ‘$id'»;
$result = $db->query( $sql); // выборка с бд
$navuk = $result->fetch(PDO::FETCH_ASSOC); //масив
if($navuk[‘navuk’] >= 2){
$sql = «SELECT pat FROM taim WHERE id = ‘$id'»;
$result = $db->query( $sql); // выборка с бд
$pat = $result->fetch(PDO::FETCH_ASSOC); //масив
$npat = $pat[‘pat’] + 1;$nnaw = $navuk[‘navuk’] — 2;
$stmt = $db->query(«UPDATE taim SET pat = ‘$npat’ WHERE id = ‘$id’ «);
$stmt = $db->query(«UPDATE resurss SET navuk = ‘$nnaw’ WHERE id = ‘$id’ «);
$sum =» прокачен»;}else{
$sum=»Не хватает «;
}
}
здесь $navuk[‘navuk’]==100 посли 50 нажатей на форму должно в базе navuk стать 0 а в pat 50 .Но если пользователь очень часто отправляет форму может получится в pat и 55 и 60 как когда.
Как зделать правельно работало
Drunkenmunky
Попробуйте рассказать что делает ваш скрипт, своими словами.
И что он должен делать.
Юра123456н
Все зделал чтоб запросы поставить в ряд использовал $db->beginTransaction(); типерь норм
— Добавлено —
Пока нормально потом если будут косяки отпишу
acso
Возьмите за правило переменные в «…» заключать в фигурные скобки. Как минимум код станет читабельней.
— Добавлено —
For example.
![Проблема с $_POST[] TheFAQ.ru](https://thefaq.ru/wp-content/uploads/2023/01/logo-250.png)
