Выбор и передача результата таблицы для отображения во всплывающем окне - PullRequest
0 голосов
/ 07 января 2020

Я поместил всплывающий триггер внутри td, потому что я перенес несколько данных таблицы во всплывающее окно. Тем не менее, я не могу получить детали из таблицы, так как я поместил главное всплывающее окно снаружи while l oop, потому что всплывающее окно отображается несколько раз вместо одного окна. Как передать результаты таблицы во всплывающее окно?

   $result = mysqli_query($conn, $sql);
   while($row = mysqli_fetch_assoc($result)) {
    $k=1;
  ?>
      <td>
          <a href="#0" id="info" class="info popup-trigger" 
      title="info">View</a>
      </td>
      <td style="font-size:16px;"><STRONG><?php echo $row['eqdesc']; 
       $eqid=$row['eq_inv_id'];?> 
      </STRONG></td>
      <td><?php echo $row['eq_inv_id']; ?></td>
      <td style="color:red; font-size:15px;"><strong><a href="timeline.php? 
        emp_no=<?php echo 
       $row['empl_no'];?>" style="color:inherit;"><?php echo 
       $row['empl_firstname']; ?></a></strong> 
       </td>
      <td style="color:red; font-size:15px;"><strong><a href="timeline.php? 
       emp_no=<?php echo 
       $row['empl_no'];?>" style="color:inherit;"><?php echo 
        $row['middlename']; ?></a></strong> 
        </td>
      <td style="color:red; font-size:15px;"><strong><a href="timeline.php? 
      emp_no=<?php echo 
          $row['empl_no'];?>" style="color:inherit;"><?php echo 
      $row['empl_lastname']; ?></a> 
      </strong></td>
      <td><?php echo $row['brand']; ?></td>
        <td><?php echo $row['serial_no']; ?></td>
        <td><?php echo $row['eq_state']; ?></td>
        <td><?php echo $row['eq_condition']; ?></td>
      <td><?php echo $row['curr_equip_loc']; ?></td>
      </tbody>
        <?php
        }
        ?>
      </table>
      </div>
      <div id="#0" class="popup" role="alert">
      <div class="popup-container">
      <a href="#0" class="popup-close img-replace">Close</a>
      <h2 class="modal-heading">EQUIPMENT INFORMATION</h2>
      <label>EMPL. NO.:<strong><?php echo $row['eq_inv_id'];?></strong> 
      </label><br>
      <label>FIRST NAME:</label><br>
      <label>MIDDLE NAME:</label><br>
      <label>LAST NAME:</label><br>
      <label>EQ DESCRIPTION:</label><br>
      <label>DESCRIPTION:</label><br>
      <label>BRAND:</label><br>
      <label>TAG NO.:</label><br>
      <label>SERIAL NO.:</label><br>
      <label>MODEL NO:</label><br>
      <label>IP ADDRESS:</label><br>
      <label>DATE ISSUED:</label><br>
      <label>EQ STATE:</label><br>
      <label>EQ CONDITION:</label><br>
      <label>DATE PURCHASED:</label><br>
      <label>AGE:</label><br><BR>
      <label>PRICE:</label><br>
      <label>LOCATION:</label><br>
      <label>REMARKS:</label><br>
      <label>PAR NO.:</label><br><BR>
      <button class="">UPDATE</button>
      <button class="">Assign this equipment to an employee</button>
      <button class="">EQ HISTORY</button>
      </div>
      </div>

      <script>
      jQuery(document).ready(function($){
      //open popup
        $('.popup-trigger').on('click', function(event){
       event.preventDefault();
        $('.popup').addClass('is-visible');
        });

       //close popup
       $('.popup').on('click', function(event){
      if( $(event.target).is('.popup-close') || $(event.target).is('.popup') 
      ) {
       event.preventDefault();
      $(this).removeClass('is-visible');
      }
      });
      //close popup when clicking the esc keyboard button
      $(document).keyup(function(event){
    if(event.which=='27'){
    $('.popup').removeClass('is-visible');
     }
    });
    });
    </script>

enter image description here enter image description here

1 Ответ

0 голосов
/ 08 января 2020

ОБНОВЛЕНО

Я наконец понял это. Я разделил показ мод и прохождение результата таблицы. Я использовал bootstrap для отображения модальных. Сценарий ниже предназначен только для передачи результата таблицы во всплывающее окно. Это рабочий код.

    $result = mysqli_query($conn, $sql);
    while($row = mysqli_fetch_assoc($result)) {
     ?>

      <td>
        <!-- Button trigger modal -->
       <button type="button" value="<?php echo $row['eq_inv_id'];?>" 
        onclick="foggyDetails(this)"  class="btn btn-primary" data- 
        toggle="modal" data-target="#exampleModalCenter">
      View EQ
       </button>
      </td>
      <td><?php echo $row['eq_inv_id']; ?></td>
      <td style="font-size:16px;"><STRONG><?php echo $row['eqdesc'];?> 
       </STRONG></td>
      <td style="color:red; font-size:15px;"><strong><a 
      href="timeline.php?emp_no=<?php echo $row['empl_no'];?>" 
       style="color:inherit;"><?php echo $row['empl_firstname']; ?></a> 
       </strong></td>
      <td style="color:red; font-size:15px;"><strong><a 
      href="timeline.php?emp_no=<?php echo $row['empl_no'];?>" 
       style="color:inherit;"><?php echo $row['middlename']; ?></a> 
        </strong></td>
      <td style="color:red; font-size:15px;"><strong><a 
       href="timeline.php?emp_no=<?php echo $row['empl_no'];?>" 
       style="color:inherit;"><?php echo $row['empl_lastname']; ?></a> 
       </strong></td>
      <td><?php echo $row['brand']; ?></td>
        <td><?php echo $row['serial_no']; ?></td>
        <td><?php echo $row['eq_state']; ?></td>
        <td><?php echo $row['eq_condition']; ?></td>
      <td><?php echo $row['curr_equip_loc']; ?></td>
     </tbody>
     <?php
      }
     ?>
       </table>
       </div>
       <!-- Modal -->
       <div class="modal fade" id="exampleModalCenter" tabindex="-1" 
       role="dialog" aria-labelledby="exampleModalCenterTitle" aria- 
      hidden="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
       <div class="modal-content">
       <div class="modal-header">
    <h5 class="modal-title" id="exampleModalLongTitle">EQ Information</h5>
    <button type="button" class="close" data-dismiss="modal" aria- 
      label="Close">
      <span aria-hidden="true">&times;</span>
    </button>
  </div>
  <div class="modal-body">
  <label>Equipment ID:<strong><span id="foggy"></span></strong><br>
  <label>Description:<strong><span id="foggy2"></span></strong><br>
  <label>Brand:<strong><span id="foggy3"></span></strong>
  </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-secondary" data- 
     dismiss="modal">Close</button>
    <button type="button" class="btn btn-primary">Save changes</button>
     </div>
      </div>
      </div>
      </div>

Скрипт

     function foggyDetails(details){
        var invId = details.value;

       $.ajax({
           url: "test.php",
           method: "GET",
           data: {"invId": invId},
           success: function(response) {

             // Parsing the JSON string to javascript object
             var reu = JSON.parse(response);

             //Displaying in proper field
             $("#foggy").text(reu.eq_inv_id);
             $("#foggy2").text(reu.eqdesc);
             $("#foggy3").text(reu.brand);
           }
         });
       }

test. php

        <?php
        include('connect.php');

        $invId=$_GET['invId'];
        $sql="SELECT * FROM eq_inv WHERE eq_inv_id='$invId'";
        $result=mysqli_query($conn, $sql);

        $a=mysqli_fetch_object($result);
        echo json_encode($a);    //returning the json string
         ?>
...