0

图片

我有一个表,其中包含来自数据库的行,对于该表,我像您通常那样做一个 foreach 来获取行。图片在上面。

好吧,我的项目需要为表格上的行设置操作按钮,所以我创建了复选框(一切顺利)。现在我的问题是,当我的表单由于某种原因被完全填写时,当我点击提交按钮时,该按钮什么也不做。我在项目的其他页面中使用了表单助手,没有问题。现在我遇到了第一个问题。

这是我对表格的看法:

<table id='waiting' class='display'>
    <thead>
        <tr>
            <th>ID</th>                       
            <th>A Number</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Reason for visit</th>
            <th>Comments</th>
            <th>Aid Year</th>
            <th>Staff Comments</th>
            <th>Staff Member</th>
            <th>Options</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($waiting as $row) { ?>                 
        <tr>
            <td><?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?></td>               
            <td><?php echo htmlspecialchars($this->encrypt->decode($row['anum']), ENT_QUOTES, 'UTF-8'); ?></td>
            <td><?php echo htmlspecialchars($row['first'], ENT_QUOTES, 'UTF-8'); ?></td>
            <td><?php echo htmlspecialchars($row['last'], ENT_QUOTES, 'UTF-8'); ?></td>
            <td><?php echo htmlspecialchars($row['reason'], ENT_QUOTES, 'UTF-8'); ?></td>
            <td><?php echo htmlspecialchars($row['studentcomments'], ENT_QUOTES, 'UTF-8'); ?></td>
            <td><?php echo htmlspecialchars($row['aidyear'], ENT_QUOTES, 'UTF-8'); ?></td>
            <td><?php echo htmlspecialchars($row['counselorcomments'], ENT_QUOTES, 'UTF-8'); ?></td>
            <td>
                <?php echo form_open('studentqueue_controller/counselorscreen'); ?>
                <?php echo form_dropdown('namedrop', $names) ?></td>
            <td>
                <input type="checkbox" name="options" value="start" <?php echo form_checkbox('options','start') ?>Start</input>
                <input type="checkbox" name="options" value="stop" <?php echo form_checkbox('options','stop') ?>Incactive</input>
            </td>
        </tr>
        <?php } ; ?>
        <?php echo form_submit('submit', 'Start Action'); ?>
        <?php echo form_close(); ?>

我在循环中打开表单,因为我需要表中的所有行对它们执行操作(启动和终止)

我在这里想念什么?

4

2 回答 2

0

您打开表单两次,因此第二次之前的所有内容都将被忽略。删除这一行:

 <?php echo form_open('studentqueue_controller/counselorscreen'); ?>

从 namedrop 之前开始,应该没问题。看看你的 pastebin,第 51 行和第 83 行都打开了同一个表单。

于 2013-02-23T16:06:01.600 回答
0
 <h3>Students Waiting</h3>
                <table id='waiting' class='display'>
                    <thead>
                        <tr>
                            <th>ID</th>                       
                            <th>A Number</th>
                            <th>First Name</th>
                            <th>Last Name</th>
                            <th>Reason for visit</th>
                            <th>Comments</th>
                            <th>Aid Year</th>
                            <th>Staff Comments</th>
                            <th>Staff Member</th>
                            <th>Options</th>
                        </tr>
                    </thead>
                    <tbody>

                        <?php
                        foreach ($waiting as $row) 
                        { 
                            ?>                
                        <tr>
                            <td><?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?></td>               
                            <td><?php echo anchor('studentqueue_controller/history/'.urlencode($row['anum']). '', $row['anum'], 'target="_blank"'); ?></td>
                            <td><?php echo htmlspecialchars($row['first'], ENT_QUOTES, 'UTF-8'); ?></td>
                            <td><?php echo htmlspecialchars($row['last'], ENT_QUOTES, 'UTF-8'); ?></td>
                            <td><?php echo htmlspecialchars($row['reason'], ENT_QUOTES, 'UTF-8'); ?></td>
                            <td><?php echo htmlspecialchars($row['studentcomments'], ENT_QUOTES, 'UTF-8'); ?></td>
                            <td><?php echo htmlspecialchars($row['aidyear'], ENT_QUOTES, 'UTF-8'); ?></td>
                            <td><?php echo htmlspecialchars($row['counselorcomments'], ENT_QUOTES, 'UTF-8'); ?></td>
                            <td>
                                <?php echo form_open('studentqueue_controller/counselorscreen'); ?>
                                <?php echo form_dropdown('namedrop', $names) ?></td>
                            <td>
                                <input type="checkbox" name="options" value="start" <?php echo form_checkbox('options','start') ?>Start</input>
                                <br />
                                <input type="checkbox" name="options" value="stop" <?php echo form_checkbox('options','stop') ?>Delete</input>
                                <?php echo form_submit('submit', 'Start Action'); ?>                        
                                <?php echo form_close(); ?>
                            </td>
                        </tr>

                        <?php
                         } ?>
                    </tbody>    
                </table>

我将 form_open 和 form close 都放在了 foreach 中,这样就成功了。

于 2013-02-23T17:03:41.070 回答