#php #mysql #ajax
#php #mysql #ajax
Вопрос:
Я создаю небольшой проект, используя PHP, MySQL, Ajax и Bootstrap. Когда я извлекаю данные с помощью PHP include и помещаю во внутренний тег тела таблицы, разбивка на страницы таблицы начальной загрузки и поиск работают нормально, но когда я извлекаю данные с помощью AJAX и добавляю их в тело таблицы с помощью ID, разбивка на страницы и поиск не работают.
Разбивка на страницы начальной загрузки и поиск работают с этим кодом:
<!-- Table -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<center>
<h6 class="m-0 font-weight-bold text-primary">LIST OF STOCKS</h6>
</center>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>ASSET TAGS</th>
<th>PARTICULARS</th>
<th>STATUS</th>
<th>PREVIOUS USER</th>
<th>OPTION</th>
</tr>
</thead>
<tfoot>
<tr>
<th>ASSET TAGS</th>
<th>PARTICULARS</th>
<th>STATUS</th>
<th>PREVIOUS USER</th>
<th>OPTION</th>
</tr>
</tfoot>
<tbody><?php include('../functions/stocks_fetch.php'); ?></tbody>
</table>
</div>
</div>
</div>
<!-- End of Table -->
// Call the dataTables jQuery plugin
$(document).ready(function() {
$('#dataTable').DataTable();
});
И не работают с этим кодом:
<!-- Table -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<center>
<h6 class="m-0 font-weight-bold text-primary">LIST OF STOCKS</h6>
</center>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>ASSET TAGS</th>
<th>PARTICULARS</th>
<th>STATUS</th>
<th>PREVIOUS USER</th>
<th>OPTION</th>
</tr>
</thead>
<tfoot>
<tr>
<th>ASSET TAGS</th>
<th>PARTICULARS</th>
<th>STATUS</th>
<th>PREVIOUS USER</th>
<th>OPTION</th>
</tr>
</tfoot>
<tbody id="tbody"></tbody>
</table>
</div>
</div>
</div>
<!-- End of Table -->
//FETCH DATA TO DISPLAY
function fetch(){
$.ajax({
method: 'POST',
url: 'functions/stocks_fetch.php',
success: function(response){
$('#tbody').html(response);
}
});
}
<!-- MY NEW WORKING AJAX CODE -->
/FETCH DATA TO DISPLAY
function fetch(){
$.ajax({
method: 'POST',
url: 'functions/stocks_fetch.php',
success: function(response){
$('#tblbody').html(response);
$(document).ready(function() {
$('#dataTable').DataTable();
});
}
});
}
Комментарии:
1. Вы действительно ссылаетесь на 2 разных элемента в каждом примере? В первом вы ссылаетесь на
#dataTable
элемент, а во втором вы ссылаетесь на#tbody
2. Можете ли вы также показать код stocks_fetch.php ??
3. Привет, спасибо за ваш ответ, я уже решил свою проблему, я обнаружил, что моя ошибка в том, что я поместил свой скрипт, вызывающий плагины начальной загрузки, в неправильное место, которое находится на странице, где размещена таблица stocks. Я внес некоторые изменения в свой Ajax-код и разместил скрипт там после успешного ответа. Теперь он работает отлично.