我正在尝试制作“更新用户权限”页面。 它类似于你在invisionfree论坛中可以找到的东西。
我需要它来生成一个带有复选框[done]的成员列表 为它添加一个选项[完成]
我不知道该怎么做就是更新,比如给所有选定的用户提供所选的权力。
然后我去寻找一些东西,发现其中大部分使用数组来做到这一点,但我从来没有找到一个真正解释它是如何工作的。
我采取的例子(经过我自己的修改)是:
while($row = mysql_fetch_array($result))
{
echo '<tr>'.$id[]=$rows['id'].'';
echo '<td width="50px" align="center" class="TableFormCell"><input type="checkbox" name="option[]" /></td>';
echo '<td width="170px" align="center" class="TableFormCell">'.$row['uname'].'</td>';
echo '</tr>';
}
我不确定到底是什么 $ id [] = $ rows ['id'] 执行
我知道在行之后,我的选项[]将成为选项[1],选项[2],选项[3]
的数组
应该给予什么样的权力,我没有问题但是如何更新数据库我没有任何线索......
for($i=0;$i<$count;$i++){
$sql1="UPDATE ninos SET power='$power' WHERE id='$option[$i]'";
$result1=mysql_query($sql1);
}
所以说我有5个用户,Aye,Bee,Cee,Dee,Eee,ID为1,2,3,4,5,我怎样才能使我的脚本像
一样运行$sql1="UPDATE ninos SET power = '$power' Where id='1','2','3','4','5'";
请帮助,谢谢。
更新
for nuqqsa
这是选择页面
$result = mysql_query("SELECT * FROM ninos");
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td width="50px" align="center" class="TableFormCell"><input type="checkbox" name="option[]" value="' . $row['id'] . '" /></td>';
echo '<td width="170px" align="center" class="TableFormCell">'.$row['uname'].'</td>';
echo '</tr>';
}
?>
这是更新页面
<?php
include('../openconn.php');
$power = $_POST['power'];
$ids = array();
foreach($_POST['option'] as $id)
{
$ids[] = (int)$id;
}
if(!empty($ids)) {
// if there's at least one selected user
$sql1 = "UPDATE ninos SET power = '$power' Where id IN (" . implode(',', $ids) . ")";
// execute the query (...)
}
include('../closeconn.php');
?>
答案 0 :(得分:1)
首先,这没有多大意义(赋值不会输出任何可打印的内容):
echo '<tr>'.$id[]=$rows['id'].'';
这样做却更清楚(第一行,因为在循环中,将继续存储数组中的所有ID):
$id[] = $rows['id'];
echo '<tr>';
<强>更新强>:
无论如何,这里不需要将ID存储在数组中,只需使用$row['id']
在选项值中打印用户标识符(现在没有设置值):
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td width="50px" align="center" class="TableFormCell"><input type="checkbox" name="option[]" value="' . $row['id'] . '"/></td>';
echo '<td width="170px" align="center" class="TableFormCell">'.$row['uname'].'</td>';
echo '</tr>';
}
表单操作脚本将收到包含所选ids的$_POST['option']
变量。如何使用它的一个例子:
$ids = array();
// input filtering: convert all values to integers
foreach($_POST['option'] as $id)
{
$ids[] = (int)$id;
}
if(!empty($ids)) {
// if there's at least one selected user
$sql1 = "UPDATE ninos SET power = '$power' Where id IN (" . implode(',', $ids) . ")";
// execute the query (...)
}