Отображение данных из поля выбора без нажатия кнопки - PullRequest
0 голосов
/ 22 сентября 2019

Я уже сделал эту работу, но почему-то она перестала работать.Я хочу отображать информацию из базы данных, относящуюся к выбранным данным, из поля выбора без нажатия кнопки, поэтому я использовал ajax.

Кнопка «Подтвердить очистку» используется для другого действия, которое я хотел бы использовать послеотображение данных.

Существует div с id #records, который скрыт и будет отображаться при отображении данных.

<div class="card-body">
  <form id="gform" action="action/actionclearance.php" method="POST">
     <label>Student ID</label>
     <select id="stud_id" name="stud_id" class="form-control col-md-6" required>
     <option selected="selected">Select Student ID</option>
     <?php
         $mysqli = new mysqli ('localhost', 'u220931635_arug', 'Smarvcdsl2019', 'u220931635_arug') or die (mysqli_error($mysqli));
         $resultset = mysqli_query($mysqli, "SELECT * FROM tbl_student where delete_flag = 0");
         while( $rows = mysqli_fetch_assoc($resultset) ) {
      ?>
      <option><?php echo $rows["stud_id"]; ?></option>
      <?php } ?>
      </select>
  <br>
  <a href="action/actionclearance.php?gclear=<?php echo $rows["stud_id"]; ?>"><button type="submit" class="btn btn-primary btn-md" name="gclear" id="gclear" class="gclear"><i class="fas fa-check-double"></i> Approve Clearance</button></a>
   </form>
</div>
<div class="card-footer">
      <div id="display">
         <div class="row" id="heading" style="display:none;">
            <tr>
            <th class="text-center">
               <div class="col-sm-6">
                   <strong>Student</strong>
               </div>
            </th>
            </tr>
         </div>
         <div class="row" id="records">
            <tr>
            <td>
               <div class="col-sm-6">
                  <span id="stud_fname"></span>&nbsp;
                  <span id="stud_mname"></span>&nbsp; 
                  <span id="stud_lname"></span>&nbsp;
                  <span id="stud_suffix"></span>&nbsp;
               </div>
             </td>
             </tr>
          </div>         
          <div class="row" id="no_records">
            <div class="col-lg-12 text-center">
                Plese select Student ID to view details</div>
            </div>
          </div>
     </div>
</div>

Ниже приведен код ajax, который я использовал для отображения данных без нажатия кнопки.

<script>
    $(document).ready(function(){
        // code to get all records from table via select box
        $("#stud_id").change(function() {
            var id = $(this).find(":selected").val();
            var dataString = 'stud_id='+ id;

            $.ajax({
                url: 'getstudent.php',
                dataType: "json",
                data: dataString,
                cache: false,
                success: function(studentData) {
                    if(studentData) {
                    $("#heading").show();
                    $("#no_records").hide();
                    $("#stud_fname").text(studentData.stud_fname);
                    $("#stud_mname").text(studentData.stud_mname);
                    $("#stud_lname").text(studentData.stud_lname);
                    $("#stud_suffix").text(studentData.stud_suffix);
                    $("#records").show();
                    } else {
                    $("#heading").hide();
                    $("#records").hide();
                    $("#no_records").show();
                    }
                }
            });
        });
    });
</script>

Это getstudent.php, который подключен к базе данных, где ajax получает данные для отображения.

<?php
    include("../configAdmin.php");

    if($_REQUEST['stud_id']) {
        $mysqli = new mysqli ('localhost', 'u220931635_arug', 'Smarvcdsl2019', 'u220931635_arug') or die (mysqli_error($mysqli));
        $resultset = mysqli_query($mysqli, "SELECT * FROM tbl_student where delete_flag = 0 AND stud_id ='".$_REQUEST['stud_id']."'");

            while( $rows = mysqli_fetch_assoc($resultset) ) {
                $data = $rows;
            }
            echo json_encode($data);
    } else {
        echo 0;
    }
?>

1 Ответ

0 голосов
/ 22 сентября 2019

без использования ajax вы можете сделать это

<select id="stud_id" name="stud_id" class="form-control col-md-6" required>
     <option selected="selected">Select Student ID</option>
     <?php
         $mysqli = new mysqli ('localhost', 'u220931635_arug', 'Smarvcdsl2019', 'u220931635_arug') or die (mysqli_error($mysqli));
         $resultset = mysqli_query($mysqli, "SELECT * FROM tbl_student where delete_flag = 0");
         while( $rows = mysqli_fetch_assoc($resultset) ) {
      ?>

<option value="<?php echo $rows["stud_id"]; ?>"><?php echo $rows["stud_id"]; ?></option>

      <?php } ?>
      </select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...