Как реализовать такую вещь [требует правки]

323
12 октября 2017, 12:47

Допустим есть кнопка на странице, как сделать так чтобы при нажатие она подключалось к базе данных. т.е не как прописать подключение, а как скрипт коннекта связать с кнопкой?

Answer 1

событие click. А в нем $.get, $.post. В опциях прописать урл где будет php вызов запроса в базу данных пример.

$('#mybutton').on('click', function(){
    $.post('/sqlquery', function(data){
        //data возврат данных из базы
    });
});
Answer 2

Кнопка - на клиенте, в браузере. БД как правило на сервере.

План:

  1. На клиенте. По событию onclick на клиенте вызывается функция JavaScript, которая в свою очередь делает асинхронный запрос AJAX на сервер по определенному URL, при необходимости также можно передать параметры

<button onclick="CallAsyncRequest()">Соединиться с БД</button> 
 
<script> 
  function CallAsyncRequest() { 
    $.post("ajax.php", { 
        param1: 123, 
        param2: 456 
      } 
 
      function(data) { 
        $("#requestResult").html(data); 
      }); 
  } 
</script>

Для AJAX удобно использовать JQuery: http://api.jquery.com/jquery.post/ но можно и стандартными средствами JavaScript это сделать. В примере JQuery.

Параметры передаются обычным объектом JS, в примере это param1 со значением 123 и param2 со значением 456. Количество и формат - любые.

  1. На сервере. Нужно написать скрипт подключения к БД и выполнению всех необходимых действий для твоей задачи, назвать его так же как на клиенте (ajax.php в примере) и сделать так, чтобы он отдавал результат в понятном для клиента виде (можно текстом, можно JSON или как-то еще)
/* ajax.php */
$param1 = $_POST['param1']; // 123
$param2 = $_POST['param2']; // 456
$sql = '...'; // Формируем запрос на основании полученных параметров
db_connect();
$data = db_query($sql);
while ($row = db_fetch($data)) {
    print ToHtml($row); // Выводим результат в понятном для клиента виде
}
db_disconnect();

Осторожно, это псевдокод!

То, что отдал этот скрипт на выход, клиент получит в переменной data у себя в AJAX-ответе. Там же можно сделать парсинг и необходимые действия в зависимости от результата и ответа.

READ ALSO
лег сайт на modx revo

лег сайт на modx revo

После обновление версии php у хостера, лег сайт на modxКак можно рещить данную проблему? Сыпятся вот такие ошибки:

267
insert on duplicate update с подготовленным запросом

insert on duplicate update с подготовленным запросом

Не могу понять, почему не работает

239
Почему выдает ошибку при чтении foreach()

Почему выдает ошибку при чтении foreach()

Делаю интеграцию с Моя Посылка сервис отслеживания посылок

261
Проблеммы с RedBeanPHP

Проблеммы с RedBeanPHP

При выполнении данного кода выдает ошибку:

302