php表单根据复选框对行中的值采取操作

时间:2014-08-25 02:29:19

标签: php form-submit

我有一个执行sql查询并提供一些数据的php页面。此数据是多行数据,每行与特定用户ID相关。在PHP代码中,我在每个用户旁边添加一个复选框。

        function solist()
    {
        $con = sqlconnect();
        $result = mysqli_query($con,"select members.name, syndicate_sourcebans.sb_srvgroups.name,groups.g_title,sg_servers.server_title from members inner join groups on groups.g_id=members.OrigFGrp left join sg_servers on BIN(sg_servers.server_id)=BIN(members.SOServer) left join syndicate_sourcebans.sb_admins on SteamToInt(syndicate_sourcebans.sb_admins.authid)=members.steamid left join syndicate_sourcebans.sb_srvgroups on syndicate_sourcebans.sb_srvgroups.id=members.origsbgrp where members.member_group_id=17 order by sg_servers.server_title");
        echo "<table><form name='demotions' action='removeso.php' method='post'>
        <tr>
        <th>Remove</th>
        <th>Name</th>
        <th>Original Sourcebans Group</th>
        <th>Original Forum Group</th>
        <th>Assigned Server</th>
        </tr>";
        while($row = mysqli_fetch_array($result, MYSQL_NUM)) 
        {
            echo "<tr>";
            echo "<td><input type='checkbox' name='sodemote'></td>";
            echo "<td>" . $row[0] . "</td>";
            echo "<td>" . $row[1] . "</td>";
            echo "<td>" . $row[2] . "</td>";
            echo "<td>" . $row[3] . "</td>";
            echo "</tr>";
        }
        echo "<input type='submit' value='Process Demotions'></form></table>";
        mysqli_close($con);
    }

表格填充并且复选标记按预期显示。基本上,如果我勾选一个用户(或多个用户),我希望将他们的唯一ID发送到removeso.php。我在ASP中做过这样的事情但是php对我来说是非常新的。任何关于如何实现这一目标的建议,或者自我学习如何做到这一点的最佳资源将不胜感激。

2 个答案:

答案 0 :(得分:3)

我会做的是这样的事情:

echo "<td><input type='checkbox' name='username' value='". $row[id_here] ."'></td>";

将整个列表包装成一个表单,一旦完成,执行if checked语句并将所有数据发送到removeso.php。

如果您希望在不必发送表单的情况下立即处理数据,则必须查看Ajax技术。

答案 1 :(得分:1)

input标记中,如果选中此框,则需要设置要发送到目标网页的值。

所以例如;

echo "<input type='checkbox' name='sodemote' value'" . $row[0] . "'>";
// Where $row[0] is the value of the id

希望这有帮助。