1

我想通过以下方式获得表格:

[-] [value] [+]

我不知道如何编写逻辑脚本以使 PHP 中的值高 1 或低 1。

我假设以下内容会起作用:

<?php

$i = 0;

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    if(isset($_POST['plus']))
    {
        $i++;
    }

    if(isset($_POST['min']))
    {
        $i--;
    }
}

?>

我的表格如下:

<form action="" method="post">
    <input type="submit" name="min" value="-"> <input type="text" value=<?php echo $i ?> >         <input type="submit" name="plus" value="+">
</form>

但我只得到 1 或 -1。有人可以告诉我如何以一种好的方式做到这一点吗?

4

3 回答 3

2

PHP 将简单地在服务器端加载代码并在页面加载时运行。如果您希望在保持在同一页面上的同时动态增加/减少值,我建议您学习 Javascript 和 jQuery。

参考https ://developer.mozilla.org/en/JavaScript/

参考:http: //jQuery.com/

于 2012-07-12T18:32:52.293 回答
2

试试这个:

<?php



if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    $i = $_POST['current_value'] || 1;
    if(isset($_POST['plus']))
    {
        $i++;
    }

    if(isset($_POST['min']))
    {
        $i--;
    }
}
?>

还有这个:

<form action="" method="post">
    <input type="submit" name="min" value="-"> <input name="current_value" type="text" value=<?php echo $i ?> >         <input type="submit" name="plus" value="+">
</form>

您需要一些方法来让当前值在请求之间保持不变 - 根据您的用例,您可能需要 Rocket 提到的数据库存储,或者这种简单的当前值传回可能就足够了。

于 2012-07-12T18:37:05.340 回答
1

您的代码发生的情况是您正在递增一个在开始时设置为 0 的全局变量。这就是为什么您返回的唯一值或 1 或 -1。这可以通过传递每次递增的变量而不是使用全局变量来解决。这样,它会保持每个正负之间的值,并且不会一直重置它。

于 2012-07-12T18:35:34.700 回答