Как запустить функцию, написанную на php

195
20 марта 2018, 02:32
function donateUser() {
    $a = $_SESSION['id'];
    global $link;
    $sql = "UPDATE `users` SET `user_balance` = `user_balance` -'$wastedBalance' WHERE `user_id` = $a";
    $result = mysqli_query($link, $sql);
    $users = mysqli_fetch_all ($result, 1) ;
    return $users;
} 

Как привязать ее к кнопке что-бы при нажатии выполнялся данный код, если <a onclick="donateUser();" class="orange_button money">Подтвердить</a> не работает

Answer 1

Данная функция на php. В ссылке onclick="donateUser();" код js. Здесь есть, наверное, такие варианты:

1.Задать прямую ссылку на файл со скриптом php

Например:

<a href="donate-user.php" class="orange_button money">Подтвердить</a>

При клике на ссылку, будет переход на скрипт

2.Сделать вызов скрипта через ajax-запрос

$("a.money").click(function(e) {
    e.preventDefault();
    $.get( "donate-user.php", function() {
        //alert( "success" );
    })
});

Файл donate-user.php

// Подключение к БД
// $link
...
// Выполнение скрипта
$a = $_SESSION['id'];
$sql = "UPDATE `users` SET `user_balance` = `user_balance` -'$wastedBalance' WHERE `user_id` = $a";
$result = mysqli_query($link, $sql);
$users = mysqli_fetch_all ($result, 1) ;
return $users;
Answer 2

Можете использовать такой вариант:

<a href="?click=true" class="orange_button money">Подтвердить</a>
<?php
if(isset($_GET['click'])) {
    $a = $_SESSION['id'];
    global $link;
    $sql = "UPDATE `users` SET `user_balance` = `user_balance` -'$wastedBalance' WHERE `user_id` = $a";
    $result = mysqli_query($link, $sql);
    $users = mysqli_fetch_all ($result, 1) ;
    return $users;
}
?>
READ ALSO
Как сравнивать время клиента и сервера с разными временными зонами?

Как сравнивать время клиента и сервера с разными временными зонами?

Нужно сравнить данные времени которые генерируются на сервере и которые приходят от клиентеКак с этим временем работать, временная зона...

189
преобразовать код из среды виндовс в среду линукс

преобразовать код из среды виндовс в среду линукс

этот код хорошо работает в виндовсе но отказывается работать в линуксе, как его можно переписать?

182
Вывести ближайшую дату доставки php

Вывести ближайшую дату доставки php

Нужно вывести правильную дату получения товараЕсть поставщики: 1) кока-кола

192
сложный запрос PDO

сложный запрос PDO

не могу понять в чем ошибка, в то время как количество параметров верное, и написаны они верно! запрос:

149