如何访问ID?

时间:2011-03-05 10:19:36

标签: php mysql

在我设计的网站中,管理列表页面显示了名称,电子邮件,用户名和状态(无论是活动用户还是非活动用户)等字段。我的数据库有一个名为 admin 的表。这些字段是 iAdminId,vFirstName,vLastName,vEmail,vUserName,vPassword,vFromIP,vFromIP,dLastLogin和eStatus 。在等效的PHP页面(管理列表页面)中,我添加了一个活动&非活动按钮。每行都有复选框。管理员选择的行数将在他/她点击 Active Inactive 按钮后更新(当然确认后)。

我的激活javscript代码是:

function activeRecord()
  {
    var count = getCount();
    if(count == 0)
    {
      alert("Please enter some records for activation first!!");
    }
    else
    {
      var c = confirm("Do you wish to activate?");
      if(c==true)
      {
        document.frm.mode.value="Active";
        document.frm.submit();
      }
      else
      {
        alert("You had wrongly selected 'Active' option!!");
      }
    }
  }

getCount返回所选记录的数量。 PHP代码是

if($mode=="Active")
  {
    for($i=0;$i<count($_POST['ch']);$i++)
    {
      $active = "UPDATE admin SET eStatus = 'Active' WHERE iAdminId = '" . $_POST['ch'][$i] . "'";
      $result = mysql_query($active,$conn);
    }
  }

即使选择了不删除所选记录。我也试着回应。

echo $ active =“UPDATE admin SET eStatus ='Active'WHERE iAdminId ='”。 $ _POST ['ch'] [$ i]。 “'”;

“ch”是所有复选框的数组名称

它显示: UPDATE admin SET eStatus ='无效'WHERE iAdminId =''

任何帮助将不胜感激。提前致谢

ch用作:

请帮助。这很紧急。谢谢大家

2 个答案:

答案 0 :(得分:0)

在你的情况下,$_POST['ch']应该是一个数组。通过在PHP脚本中放置var_dump($_POST['ch'])来检查是否属实。

您的复选框也应使用相同的名称(<input name="ch[]" value="Element-ID" />)。

没有必要在括号中添加索引。如果你这样做,你的for-Loop(可以被foreach替换)将不起作用,因为你只是检查长度并用错误的密钥遍历数组。

答案 1 :(得分:-1)

很抱歉打扰所有人并感谢他们为解决我的问题而感兴趣。

我想我需要一双额外的眼睛来检查我的代码。正如@fabsn要求我重新检查我的代码。我输入了复选框的值。所以他们没有机会变得空白。这只是一个小错误。它现在纠正了,现在工作得非常好。我想从现在开始我需要更加小心,这样我就不必为此烦恼了。

再次感谢