Мне нужен способ сделать кнопку печати, которая печатает таблицу. Одна концепция, которую я изучал, заключается в создании новой страницы в фоновом режиме, на которой воссоздается таблица, ее печати и последующей отправке пользователя обратно на исходную страницу. Однако - я не знаю, как запустить команду печати из php / javascript / html. Если бы у кого-то было лучшее предложение, как это сделать, или он знал, как печатать, я был бы признателен.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это мой первый ответ, поэтому формат моего ответа не идеален, но вы хотите сделать что-то вроде этого: Кнопка вызывает функцию getTable, которая затем в форме ajax вызывает PHP-скрипт, который затем отображает таблицу в div под названием «table». Если вы сделаете это таким образом, страница не будет перезагружена, а таблица будет отображаться синхронно.
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(e){
function getTable(){
$.ajax({
type: 'get',
url: './load_table.php',
dataType: 'html',
success: function(response){
$("#table").html(response),
}
});
}
});
</script>
<?php
echo '<table>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tr>
<td>January</td>
<td>$100</td>
</tr>
</table>';
?>
<button type = "button" onclick = getTable().submit()> Click Me! </button>
<div id = "table" name = "table">
</div>
<table border = "1" cellpadding = "3" id = "printTable">
<tbody><tr>
<th>First Name</th>
<th>Last Name</th>
<th>Points</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
<td>80</td>
</tr>
<tr>
<td>Adam</td>
<td>Johnson</td>
<td>67</td>
</tr>
</tbody></table>
<br />
<br />
<button>Print me</button>
<script src = "https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
function printData()
{
var divToPrint=document.getElementById("printTable");
newWin= window.open("");
newWin.document.write(divToPrint.outerHTML);
newWin.print();
newWin.close();
}
$('button').on('click',function(){
printData();
})
</script>
Нет, это не тот ответ, на который он спрашивает. Он действительно хочет напечатать таблицу, а не получить ее.