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

У меня есть следующие таблицы:- лицо {id,last,first,designation_id} обозначение {id,name}. У меня есть раскрывающийся список сверху со всем именем обозначения. Первоначально, когда страница загружена, система должна загрузить всех людей на оси строк, а затем, когда пользователь выберет конкретное обозначение, ось строки изменится и отобразит человека, имеющего это обозначение_id . Найдите мой код ниже, он не работает, если кто-то действительно может мне в этом помочь.

Выпадающий список в порядке, он загружает все раскрывающиеся части имени обозначения:

      <div class="space">
    Employee: <select id="employee"></select>
  </div>

 loadResources();

  document.querySelector("#employee").addEventListener("change", (ev) => {
    loadEvents();
  });

  async function loadResources() {
    const {data} = await DayPilot.Http.get("backend_designations.php");
    var select = document.querySelector("#employee");
    data.forEach(function(item) {
      var option = document.createElement("option");
      option.value = item.id;
      option.innerText = item.name;
      select.appendChild(option);
    });
    loadEvents();
  }

Единственная проблема, с которой я сталкиваюсь, - это когда страница не загружает данные на оси строк и даже при выборе одного варианта.

Код оси строк из index_admin.html

      function loadEvents() {
    const employee = document.querySelector("#employee").value;
    const url = `backend_employees_admin.php?resource=${employee}`;
    dp.rows.load(url, () => {
      
    });
  }

backend_employees_admin.php кодирование:

      <?php
require_once '_db.php';

  if ($_GET["resource"]) {
    $stmt = $db->prepare('SELECT * FROM person WHERE designation_ID = :resource ORDER BY last, first ');
    $stmt->bindParam(':resource', $_GET['resource']);
 
}
else
{
  $stmt = $db->prepare("SELECT * FROM person ORDER BY last, first ");
}
  $stmt->execute();
  $list = $stmt->fetchAll();




class Employee {}

$result = array();

foreach($list as $employee) {
  $r = new Employee();
  $r->id = $employee['id'];
  $r->name = $employee['last'].', '.$employee['first'];
  //$r->Designation = $employee['Designation'];
  $r->resource=$employee['designation_ID'];
  $result[] = $r;
  }
  
header('Content-Type: application/json');
echo json_encode($result);

Пожалуйста, если кто-нибудь может улучшить код для меня.

0 ответов

Другие вопросы по тегам