将计算输出保存为计算器的新输入

时间:2016-12-29 00:57:50

标签: php calculator

我想用PHP制作一个计算器。我需要一种方法来将计算结果保存为新的预定义输入。

示例:用户乘以5和6并得到30的结果。如果他们想要乘以结果,他们现在需要再次输入30并选择所需的操作。

我想保存每个操作的结果,以便用户可以继续使用结果进行计算。如果用户不想进一步使用结果,则只需输入新号码,然后点击提交。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Kalkulator</title>
    <link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
if (isset($_POST["posalji_vrijednosti"]))
{
    $b_1 = $_POST["broj_1"];
    $op = $_POST["operacija"];
    $b_2 = $_POST["broj_2"];;
}
// Varijabla koja ce sadrzavati rezultat
$rezultat = "";
// Program odradjuje svoje ispod
if ($op == "*")
{
    $rezultat = $b_1 * $b_2;
}
elseif ($op == "/")
{
    $rezultat = $b_1 / $b_2;
}
elseif ($op == "+")
{
    $rezultat = $b_1 + $b_2;
}
elseif ($op == "-")
{
    $rezultat = $b_1 - $b_2;
}
?>
<form method="post">
    <table>
        <tr>
            <td>Unesi prvi broj</td>
            <td><input type="text" name="broj_1"></td>
        </tr>
        <tr>
            <td>Odaberi operaciju</td>
            <td><select name="operacija">
                    <option value="+">+</option>
                    <option value="-">-</option>
                    <option value="*">*</option>
                    <option value="/">/</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>Unesi drugi broj</td>
            <td><input type="text" name="broj_2"></td>
        </tr>
        <tr>
            <td><input type="submit" name="posalji_vrijednosti" value="              =              "></td>
        </tr>
        <tr>
            <td>
            <td>
                <?php
                echo "Rezultat: $rezultat";
                ?>
            </td>
            </td>
        </tr>
    </table>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

如果您希望将计算结果用作新输入,则只需将结果作为输入的新value

最简单的解决方案&amp;答案是:

 <input type="text" name="broj_1" value="<?php echo $rezultat; ?>">

如果您希望用户最初能够从头开始,您仍然可以显示它,但预先选择结果:

<?php
    $rezultat = ""; // init that var

    // your calculation
    $rezultat = "30";
?>
<input type="text" id="inputField" value="<?php echo $rezultat; ?>">
<script>
    input = document.getElementById('inputField');
    input.select();
</script>

或者您无法在输入中显示结果,但是提供一个将结果插入该输入的按钮:

<?php
    $rezultat = ""; // init that var
    // your calculation
    $rezultat = "30";
?>
<input type="hidden" id="result" value="<?php echo $rezultat; ?>">
<button onClick="copyValue()">re-use Result</button><br>
<input type="text" id="inputField">
<script>
function copyValue() {
    result = document.getElementById('result');
    input = document.getElementById('inputField');
    input.value = result.value;
}
</script>