PhpSpreadsheet/Examples/Quadratic.php

69 lines
2.3 KiB
PHP

<html>
<head>
<title>Quadratic Equation Solver</title>
</head>
<body>
<?php
/** Error reporting **/
error_reporting(E_ALL);
/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . '../Classes/');
?>
<h1>Quadratic Equation Solver</h1>
<form action="Quadratic.php" method="POST">
Enter the coefficients for the Ax<sup>2</sup> + Bx + C = 0
<table border="0" cellpadding="0" cellspacing="0">
<tr><td><b>A&nbsp;</b></td>
<td><input name="A" type="text" size="8" value="<?php echo (isset($_POST['A'])) ? htmlentities($_POST['A']) : ''; ?>"></td>
</tr>
<tr><td><b>B&nbsp;</b></td>
<td><input name="B" type="text" size="8" value="<?php echo (isset($_POST['B'])) ? htmlentities($_POST['B']) : ''; ?>"></td>
</tr>
<tr><td><b>C&nbsp;</b></td>
<td><input name="C" type="text" size="8" value="<?php echo (isset($_POST['C'])) ? htmlentities($_POST['C']) : ''; ?>"></td>
</tr>
</table>
<input name="submit" type="submit" value="calculate"><br />
If A=0, the equation is not quadratic.
</form>
<?php
/** If the user has submitted the form, then we need to execute a calculation **/
if (isset($_POST['submit'])) {
if ($_POST['A'] == 0) {
echo 'The equation is not quadratic';
} else {
/** So we include PHPExcel to perform the calculations **/
include 'PHPExcel/IOFactory.php';
/** Load the quadratic equation solver worksheet into memory **/
$objPHPExcel = PHPExcel_IOFactory::load('./Quadratic.xlsx');
/** Set our A, B and C values **/
$objPHPExcel->getActiveSheet()->setCellValue('A1', $_POST['A']);
$objPHPExcel->getActiveSheet()->setCellValue('B1', $_POST['B']);
$objPHPExcel->getActiveSheet()->setCellValue('C1', $_POST['C']);
/** Calculate and Display the results **/
echo '<hr /><b>Roots:</b><br />';
$callStartTime = microtime(true);
echo $objPHPExcel->getActiveSheet()->getCell('B5')->getCalculatedValue().'<br />';
echo $objPHPExcel->getActiveSheet()->getCell('B6')->getCalculatedValue().'<br />';
$callEndTime = microtime(true);
$callTime = $callEndTime - $callStartTime;
echo '<hr />Call time for Quadratic Equation Solution was '.sprintf('%.4f',$callTime).' seconds<br /><hr />';
echo ' Peak memory usage: '.(memory_get_peak_usage(true) / 1024 / 1024).' MB<br />';
}
}
?>
</body>
<html>