Ответ AJAX отображать только последнюю строку из базы данных в JQuery и PHP? - PullRequest
0 голосов
/ 15 февраля 2019

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

$.ajax({

          method: "GET",
           dataType: 'json',
           url:"getdata.php?id="+emp_id,
              success:function (response){
                     $.each(response, function( index, value ) {
                              $(".bodytable").empty();
                              $("table.table").append("<tr><td>" + value.emp_name + "</td><td>"  + "</td><td><input type='file'></td></tr>");

                      });
              },  
      });

Мой ответ показывает мне правильные данные.например, если у меня 2 сотрудника, он показывает мне [object object][object object]

, если у меня 1 сотрудник, он показывает мне [object object].

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

Мой html список компаний:

<select  id="billing_com" name="billing_com" >
        <option>--Select Customer--</option>
        <?php   foreach($com_data as $key=>$eachcomData){
            ?>
            <option value="<?php echo $eachcomData['com_id'];?>"  <?php   
                    if(isset($_GET['id'])){ echo ($upload['com_name'] == $eachcomData['com_id'])?'selected=selected':'abc';   }    ?> >

                <?php echo $eachcomData['com_name']; ?>

            </option>



             <?php }?>

        </select>

код, который будет вызываться после ответа ajax:

 <table class="tabledata">
                    <thead>
                        <tr>
                            <th>Employee Name</th>
                            <th>Attach Payslip</th>
                        </tr>
                    </thead>
                    <tbody class="bodytable">

                    </tbody>
                </table>

1 Ответ

0 голосов
/ 15 февраля 2019

Вы должны очистить свою таблицу вне каждого цикла.Вот так:

$.ajax({
          method: "GET",
           dataType: 'json',
           url:"getdata.php?id="+emp_id,
              success:function (response){
                     $(".bodytable").empty();
                     $.each(response, function( index, value ) {

                              $("table.table").append("<tr><td>" + value.emp_name + "</td><td>"  + "</td><td><input type='file'></td></tr>");

                      });
              },  
      });

Также вы добавляете прямо в таблицу.Я предпочитаю добавлять в tbody, как показано ниже:

$(".bodytable").append("<tr><td>" + value.emp_name + "</td><td>"  + "</td><td><input type='file'></td></tr>");

Надеюсь, это поможет вам.

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