Как изменить каждую строку таблицы HTML - PullRequest
0 голосов
/ 01 октября 2019

Я хочу создать динамическую таблицу, которая получает все свои записи из базы данных. Я знаю, как сделать простой аккордеон таблицы с помощью этой начальной загрузки Twitter. Используйте collapse.js в ячейках таблицы [Почти готово] . Если я применяю эту технику, она превращает строки таблицы в аккордеон, но независимо от того, какую строку я щелкаю, она только расширяет первую строку. Вот код моей таблицы получения данных из базы данных.

<div class="container">
<h2>All the Suggestions of HR</h2>
<div class="table-responsive">
    <table id="myTable" width="100%" class="table table-striped display responsive nowrap table-hover">
        <thead>
            <tr>
                <th scope="col">Status</th>
                <th scope="col">Date</th>
                <th scope="col">Time</th>
                <th scope="col">Subject</th>
                <th scope="col">Message</th>
                <th scope="col">department</th>
                <th scope="col">Actions</th>
            </tr>
        </thead>
        <tbody>
            <?php 
            $sql = "SELECT * FROM hr;";
            $result  = mysqli_query($conn , $sql);
            $nr = mysqli_num_rows($result);

            while($row = mysqli_fetch_assoc($result)) :
            $id = $row['hr_id'];
             ?>


                <tr>
                    <?php $timestamp = $row['timeSent'];
                    $date = date('d-m-Y',strtotime($timestamp));
                    $time = date('H:i:s',strtotime($timestamp));
                    $status = $row['isAnswered'];
                    ?>
                    <td><?php if ($status == 'true') {
                        echo "Answerd";
                    }
                    else{
                        echo "Pending";
                    } ?></td>
                    <td><?php echo $date;?></td>
                    <td><?php echo $time;?></td>
                    <td><?php echo $row['subject'];?></td>
                    <td><?php echo $row['message'];?></td>
                    <td><?php 
                    $cat =  $row['category_id'];
                    if($cat == 1){
                        echo "Suggestion";
                    }
                    elseif ($cat == 2) {
                        echo "Claim";
                    }
                    else{
                        echo "Help";
                    }?></td>   
                </tr>
            <?php endwhile; ?>
        </tbody>
    </table>
</div>

Всякий раз, когда нажимается строка, я хочу показать содержимое, которое отличается для каждой строки.

1 Ответ

1 голос
/ 02 октября 2019
    <?php
        while($row = mysqli_fetch_assoc($result)) :
        $id = $row['hr_id'];
         ?>
            <tr data-toggle="collapse" data-target="#accordian_<?php echo $id; ?>" class="accordion-toggle">                    
                <?php $timestamp = $row['timeSent'];
                $date = date('d-m-Y',strtotime($timestamp));
                $time = date('H:i:s',strtotime($timestamp));
                $status = $row['isAnswered'];
                ?>
                <td><?php echo $status == 'true' ? 'Answerd' : 'Pending'; ?></td>
                <td><?php echo $date;?></td>
                <td><?php echo $time;?></td>
                <td><?php echo $row['subject'];?></td>
                <td><?php echo $row['message'];?></td>
                <td><?php 
                $cat =  $row['category_id'];
                if($cat == 1){
                    echo "Suggestion";
                }
                elseif ($cat == 2) {
                    echo "Claim";
                }
                else{
                    echo "Help";
                }?></td>   
           </tr>
           <tr >
               <td colspan="6" class="hiddenRow">
                   <div class="accordian-body collapse" id="accordian_<?php echo $id; ?>"> Your Text here</div> 
               </td>
           </tr>

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