php foreach提交按钮

时间:2011-10-05 18:51:30

标签: php foreach submit

我遇到的问题是我的表单提交按钮,因为它在foreach循环中,最终提交foreach运行的每个项目。如果我把它放在循环的外面,提交没有正确的数字提交,它最终会提交foreach中的最后一个值。有人有解决方案吗?

    <div data-role='collapsible' data-collapsed='true' data-icon='arrow-l'>
        <h3><?=$ticket['ticket_no']?> - <?=$ticket['title']?></h3>

        <div class="ui-body ui-body-a"> 
            <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="c">
            <li data-role="list-divider"><h1></h1></li> 
            <li><h3>Description</h3><br><br><?=$ticket['description'] ?></li>
            <input type=hidden name=ticket_number value=<?= $ticket['ticket_no'];  ?>>
            <form action="<?=$_SERVER['PHP_SELF']; ?>" method="post">
            <fieldset>
                <div data-role="fieldcontain">
                    <label for="status" class="select">Change Status:</label>
                    <select name="status" id="<?=$ticket['ticket_no']?>">
                        <option value="Open">Status</option>
                        <option value="Tracker">Tracker</option>
                        <option value="Abandon">Abandon</option>
                        <option value="Communicate">Communicate</option>
                        <option value="Closed">Closed</option>
                    </select>
                </div>
                <input type="submit" data-theme="a" name="submit" value="Submit"></input>
            </fieldset>
        </form>


        </div><!-- /themed container --> 
    </div> <!-- End inner collapsible set -->

} ?&GT;

3 个答案:

答案 0 :(得分:1)

在每种形式中,添加如下内容:

<input type=hidden name=ticket_number value=<?= $ticket['ticket_no'];  ?>>

然后将你的if()移到循环外部,并检查$ _POST ['ticket_number']

if(isset($_POST['submit']) && isset($_POST['ticket_number'])) {
 $tickNum = $_POST['ticket_number'];
 updateTT($tickNum);                            
} 

这是在尽可能少的改变的情况下完成的。请清理你的输入,以及所有好东西!

答案 1 :(得分:0)

从循环中移动<form>标记以及应该适合您的按钮

答案 2 :(得分:0)

您目前正在覆盖字段的问题,因为它们具有相同的名称。

[]就是你所需要的!

<select name="status[]" id="<?=$ticket['ticket_no']?>">
                            <option value="Open">Status</option>
                            <option value="Tracker">Tracker</option>
                            <option value="Abandon">Abandon</option>
                            <option value="Communicate">Communicate</option>
                            <option value="Closed">Closed</option>
</select>

现在发帖后你将获得状态数组中的所有票证。当你收到状态循环时,它会得到每个值。

数组帖子的示例:http://www.pickndrive.info/questions.php

检查表单html例如