我有一个执行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对我来说是非常新的。任何关于如何实现这一目标的建议,或者自我学习如何做到这一点的最佳资源将不胜感激。
答案 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
希望这有帮助。