Создано небольшое приложение, в котором можно размещать заказы на кофе, и заказы вместе с датой их заказа сохраняются в базе данных.
У меня есть страница report.php, которая генерирует отчеты на основе ограничений по дате из пользовательского ввода, получаемого со страницы администратора, adminPage.html.
adminPage.html передает ограничения по дате в report.php с помощью функции GET, а report.php создает отчет с использованием PHP с этими ограничениями.
У меня проблемы с преобразованием страницы отчета в PDF. Я попытался использовать dompdf, однако он не загружал отчет PHP в PDF, только HTML-код.
Функция, при которой пользователь нажимает кнопку для запуска отчета по adminPage.html:
function runReport()
{
var jStartDate;
var jEndDate;
jStartDate = document.getElementById("reportStartDate").value;
jEndDate = document.getElementById("reportEndDate").value;
window.open("report.php?startDate="+jStartDate+"&endDate="+jEndDate+"");
}
window.open открывает страницу отчета с загруженными в URL ограничениями. Я знаю, что это не красиво, извините: (
Вот страница отчета, которую я пытаюсь создать в PDF. Я надеялся, что в нижней части экрана будет маленькая кнопка с надписью «создать PDF» или что-то подобное, поэтому, когда пользователь нажимает на нее, он, таким образом, создает PDF.
<!DOCTYPE HTML>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js">
</script>
<!-- allow login page to link to this when user is an admin -->
<title>Report</title>
<link rel="stylesheet" type="text/css" href="styles.css">
<link rel="manifest" href="/manifest.json">
<center><img src="icons/sbuxLogo.png" width="100" height="100px"></center>
</br></br>
<center><h1>Welcome Administrator!</h1></center>
</br></br>
<center>
<div id="report">
<h2>Report:</h2>
</br>
</center>
<?php
require "phpScripts/connect.php";
$startDate = $_GET['startDate'];
$endDate = $_GET['endDate'];
$sql = "SELECT * FROM orderlist WHERE NOT (dateOrdered < '$startDate' OR dateOrdered > '$endDate');";
$result = $conn->query($sql);
echo "<center>";
echo "<ul>";
if($result->num_rows >0)
{
$i = 0;
while($row = $result->fetch_assoc()) // this loads selected drinks via date
into ul
{
echo "<li style=
'margin-left: 0;
list-style-type: none;
color: #727272;
height: 40px;
font-size: 15px;
font-family: Open Sans;
border-style: none;
width: 50%;
list-style-type: none;
margin:0;
padding-bottom:0px;
padding:0;
overflow: hidden;'>
Drink: ".$row["drinkName"]. ", Date Ordered: " .$row["dateOrdered"] . ",
Cost: " .$row["drinkCost"] . "</li>";
$i = $i+1;
}
}else {
echo "<p> No orders found. </p>";
}
echo "</ul>";
echo "</center>";
?>
</div>