从MySQL中的行填充下拉选择菜单

时间:2012-01-31 20:14:37

标签: php mysql select loops

我正在开发一个网站,用户可以在其中添加朋友。在这里,我使用简单的SELECT语句来显示哪些用户当前待处理成为朋友。这是我到目前为止所做的:

while ($row = mysql_fetch_array($result))
{
<tr>
    <td><img src="<?=$photo;?>" /></td>
    <td><?=$realname;?></td>
    <td><?=$userid;?></td>
    <td><?=$username;?></td>
    <td>
        <select name="action">
            <option value="skip">Skip (no action)</option>
            <option value="accept">Accept</option>
            <option value="deny">Deny</option>
        </select>
        <input type="hidden" name="uid" value="<?=$userid;?>" />
    </td>
</tr>
}

现在,我对select部分不太确定。如果我只为一个用户选择选项,那么它很容易处理,但我应该如何处理它,以便当我为两个不同的用户选择不同的选项时,我仍然能够分离结果?因为现在,它给我的是uid=1&action=accept&uid=2&action=deny。我正在考虑将选择名称从action更改为action[],但我可能错了。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用uid作为操作的关键。例如:

<select name="action[<?php echo $userid; ?>]">
    <option value="skip">Skip (no action)</option>
    <option value="accept">Accept</option>
    <option value="deny">Deny</option>
</select>

答案 1 :(得分:0)

使用复选框而不是选择。 并将userid作为复选框名称

传递
<td><checkbox name="skip[] value="<?=$userid?>"></td> 
<td><checkbox name="accept[] value="<?=$userid?>"></td> 
<td><checkbox name="deny[] value="<?=$userid?>"></td> 

因此,在服务器端,您将拥有3个带有用户ID的阵列:
$_POST['skip']要跳过ID等等