Задать вопрос
SonyFan23
@SonyFan23

Как сделать так чтобы по нажатию кнопки в html выполнялся php? Или как php понимает что была нажата клавиша?

Суть такая: есть страница на которую выводятся все данные со столбца (фамилия человека) из MYSQL и по нажатию должно выводится полная информация о человеке ( то есть после нажатия происходит обработка в js и фамилия человека передает через ajax в php, чтобы в дальнейшем сделать запрос к бд).
Так вот, в моем случае, как я понимаю запрос выполняется один раз поcле загрузки страницы? Ведь условий никаких нет
5ce9c0d22c9ad558007052.png
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Телефонная система</title>
  <link rel="icon" href="img/favicon.png" type="image/png">
  <link rel="stylesheet" href="css/normalize.css">
  <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
  <link rel="stylesheet" href="css/styles.css">

</head>
<body>
<?php include('header.php'); 
require_once 'php/mysql_connect.php';
?>
<div class="viewing-wrapper">
  <div class="viewing-container">
    <div class="viewing-title">
      Выберите абоненета из списка
    </div>
    <div class="viewing-list">
      <div class="viewing-select-wrap">
      <select class="viewing-select">
      <?php 
  $query = $pdo->query('SELECT * FROM `telephone` ORDER BY `fullname`');
  while($row = $query->fetch(PDO::FETCH_ASSOC)) {
    echo  '<option>'.$row['fullname'] . '</option>';
  } ?>
      </select>
      <button class="button btn-show">Показать</button>
      </div>
    </div>
    <div class="viewing-detailed-output">
    <?php 
      $select_value = trim($_POST['select_value']);
      $query = $pdo->query('SELECT * FROM `telephone` WHERE `fullname` = $select_value ');
      $answer = [];
      while($row = $query->fetch(PDO::FETCH_OBJ)) {
             echo $answer = [$select_value => $row->name];
      }
      
    ?>
    </div>
  </div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
 const viewingSelect = document.querySelector(".viewing-select"),
       btnShow = document.querySelector(".btn-show");
 
 $(document).ready(function () {
function sendToPhp () {
  btnShow.addEventListener("click", () => {
  let select_value = viewingSelect.value;
    console.log(select_value);
    $.ajax({
      url: "viewing.php",
      type: "POST",
      cache: false,
      data: {
        ajax: 'yes',
        select_value: select_value
      },
      success: function () {
        console.log(`Переменная ${select_value} отправлена`);
      }
    });
  });
}
sendToPhp();
});
</script>
<?php 

?>
</body>
</html>
  • Вопрос задан
  • 323 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
TommyV888
@TommyV888 Куратор тега PHP
-
Php все узнает через http запросы, в том числе и о нажатии на кнопку. В вашем случае, у вас эту информацию отправляет js скрипт, если вы хотите понять как это работает почитайте про ajax в jquery
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы