jquery使用单击函数增加PHP变量

jquery increase php variable with click function

本文关键字:增加 PHP 变量 函数 单击 jquery      更新时间:2023-09-26

如果您能帮助我,我将不胜感激。

仅当每个数据字符串具有唯一 ID 时,数据才会添加到数据库中。有必要通过单击按钮为每个字符串分配 id。

如何转换变量$i每次点击增加的代码,但开头表中只有一个字符串?

 <?
    for($i=1; $i<2; $i++):
    ?>
                <tr>
                    <td>
                        <label>
                            <input type="text" name="<?=$i?>[file]" value="<? $p=$_POST[$i]; echo($p['file'])?>" >
                        </label>
                    </td>
                    <td>
                        <label>
                            <input type="integer" name="<?=$i?>[xx]" value="<? $p=$_POST[$i]; echo($p['xx'])?>" >
                        </label>
                    </td>
                    <td>
                        <label>
                            <input type="integer" name="<?=$i?>[yy]" value="<? $p=$_POST[$i]; echo($p['yy'])?>">
                        </label>
                    </td>
                    <td>
                        <button type="button" id="add">+</button>
                        <button type="button" id="del">-</button>
                    </td>
                </tr>
        <script>
            $(document).ready(function(){
                $("#add").click(function(){
                <?$i=$i+1;?>
                $('#dynamic').append('<tr><td><label><input type="text" name="<?=$i?>[file]" value=""></label></td><td><label><input type="integer" name="<?=$i?>[xx]" value=""></label></td><td><label><input type="integer" name="<?=$i?>[yy]" value=""></label></td><td><button type="button" class="add">+</button> <button type="button" class="del">-</button></td></tr>');
                });
            });
        </script>
    <?endfor;?>
            </tbody>
        </table>
        <input name="sub" type="submit" value="Create a graph" style="margin: 14px">

    </form>

一种解决方案是在每次单击时从数据库中获取$i的值并将其递增。另一种解决方案是在会话中存储$i的值,并在每次点击时获取该值。

如注释中所述,您似乎正在尝试在客户端函数中运行服务器端代码。这不会按预期工作 - PHP 行将在标记发送回浏览器并呈现之前执行,并且单击按钮时此变量不会发生任何反应。

我的方法是对传入操作参数的页面进行 ajax 调用(例如,vote.php?action=add 或 vote.php?action=del)。然后,在数据库中递增或递减此值。

现在,如果您希望在此页面上显示新值(例如,在两个按钮之间,如StackOverflow),则应使用$(selector).load("vote.php?action=add|del"),然后确保此页面仅输出新结果。