Я создал калькулятор, используя html, javascript и php для отправки информации в базу данных, чтобы я мог создать PDF-файл из сохраненной информации. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу сохранить ни одно из полей вывода в базе данных, поэтому эти поля в pdf просто отображают 0. Вот пример моего кода:
Форма:
<div class="butfix">
<label style="width: 40%; float: left;">Taxable Wage (Hourly)</label>
<input class="input-field butfix" style="float: left; width: 8em;" type="text" name="taxable_wage" id="taxable_wage">
</div>
<div class="butfix">
<label style="width: 40%; float: left;">Average Hours Per Week</label>
<input class="input-field" style="float: left; width: 8em;" type="text" name="average_hours_per_week" id="average_hours_per_week">
</div>
<div class="butfix" style = "margin-top: 2%;">
<label style="width: 40%; float: left;">Weekly Taxable Pay</label>
<output class="input-field" style="float: left; width: 8em;" type="text" name="weekly_taxable_pay" id="weekly_taxable_pay"></output>
</div>
Javascript:
var weeklyTaxablePay = document.getElementById("weekly_taxable_pay");
taxableWage.addEventListener("change", calc);
averageHoursPerWeek.addEventListener("change", calc);
function calc() {
weeklyTaxablePay.textContent = (parseFloat(document.getElementById("taxable_wage").value) * parseFloat(document.getElementById("average_hours_per_week").value)).toFixed(2);
}
В приведенном выше примере я пытаюсь сохранить «еженедельную налогооблагаемую зарплату» в базе данных. Проведя некоторые исследования в Интернете, я обнаружил, что выходные данные не совместимы с базами данных, поэтому необходимо создать вход для хранения значения выходных данных. Я попытался сделать это, добавив в скрытое поле ввода и присвоив ему тот же идентификатор и имя, что и для вывода, например:
<input class="input-field" style="float: left; width: 8em;" type="text" name="weekly_taxable_pay" id="weekly_taxable_pay">
Однако, когда я делаю это, ничего не отображается в поле ввода после завершения уравнение. Я видел другие примеры на stackoverflow и пробовал их, однако, кажется, ничего не работает для меня. Мне интересно, есть ли у кого-нибудь какие-либо предложения или какие-либо другие решения, которые могут помочь мне в этой ситуации. Я ценю любой вклад и благодарю вас за потраченное время.
РЕДАКТИРОВАТЬ
Вот часть моего php кода, хотя я совершенно уверен, что это не проблема.
Сохранение информации в базе данных:
$servername = "***";
$username = "***";
$password = "***";
$dbname = "***";
/* Create connection */
$conn = new mysqli($servername, $username, $password, $dbname);
/* Check connection*/
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$taxable_wage = $_POST['taxable_wage'];
$average_hours_per_week = $_POST['average_hours_per_week'];
$weekly_taxable_pay = $_POST['weekly_taxable_pay'];
/* sql to insert row into table */
$sql = "INSERT INTO calculations (taxable_wage, average_hours_per_week, weekly_taxable_pay) VALUES ('$taxable_wage', '$average_hours_per_week', '$weekly_taxable_pay')";
Получение информации из базы данных:
$servername = "***";
$username = "***";
$password = "***";/* Put your password */
$dbname = "***";/* Put your database name */
/* Create connection */
$connect = new mysqli($servername, $username, $password, $dbname);
/* Check connection*/
if ($connect->connect_error) {
die("Connection failed: " . $connect->connect_error);
}
$output = '';
$sql = "SELECT * FROM calculations ORDER BY id DESC LIMIT 1";
$result = mysqli_query($connect, $sql);
while($row = mysqli_fetch_array($result))
{
$output .= '
<tr>
<th width="30%">Name</th>
<td>'.$row["taxable_wage"].'</td>
</tr>
<tr>
<th width="30%">Email</th>
<td>'.$row["average_hours_per_week"].'</td>
</tr>
<tr>
<th width="30%">Taxable Wage (Hourly)</th>
<td>'.$row["weekly_taxable_pay"].'</td>
</tr>
';
}
return $output;
После этого у меня есть код для создания PDF-файла, который определенно работает так, как должен.