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

Как сделать так, чтобы при нажатии на кнопку отрисовывалась информация о человеке?

То есть нужно по клике на кнопку получать текущее значение и передавать его в php и искать в бд по этому значению, это все понятно, но как сделать так, чтобы вся информация о человеке ( данные с mysql) выводилась через php именно по клике на кнопку?
5ce82e8ef062f247216673.png
Отрисовка данных:
<div class="viewing-detailed-output">
    <?php 
      $select_value = trim($_POST['select_value']);
      $query = $pdo->query('SELECT * FROM `telephone` WHERE `fullname` = $select_value ');
      while($row = $query->fetch(PDO::FETCH_OBJ)) {
        echo '<h1>'. $row . '</h1>';
        }
    ?>
    </div>


Так же выводятся ошибки в
while($row = $query->fetch(PDO::FETCH_OBJ))
Полный код:
<!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 ');
      while($row = $query->fetch(PDO::FETCH_OBJ)) {
        echo '<h1>'. $row . '</h1>';
        }
    ?>
    </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>
  • Вопрос задан
  • 299 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега PHP
Добрый вечер.
Вот как-то так:
в php необходимо вернуть данные
$answer = [];
while($row = $query->fetch(PDO::FETCH_OBJ)) {
       $answer = ['name' => $row->name]
}
echo json_encode($answer)

в jquery
success: function (data) {
       var response = jQuery.parseJSON(data);
        console.log(response);
        // например добавить информацию об имени в div с id result
       $('#result').text(response.name)
}
Ответ написан
Ваш ответ на вопрос

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

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