Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用复选框、php和;mysql_Php_Mysql_Checkbox - Fatal编程技术网

使用复选框、php和;mysql

使用复选框、php和;mysql,php,mysql,checkbox,Php,Mysql,Checkbox,我正在尝试创建一个表单,允许您使用复选框向数据库上的用户添加管理员控件。目前我可以列出用户。当用户选中复选框并单击submit时,我不知道如何更新数据库。这是我到目前为止所拥有的 <table class="fileTable" border="1"> <tr> <th scope="col">Username</th> <th scope="col">First Name</th> <th

我正在尝试创建一个表单,允许您使用复选框向数据库上的用户添加管理员控件。目前我可以列出用户。当用户选中复选框并单击submit时,我不知道如何更新数据库。这是我到目前为止所拥有的

<table class="fileTable" border="1">
  <tr>
    <th scope="col">Username</th>
    <th scope="col">First Name</th>
    <th scope="col">Surname</th>
    <th scope="col">Email Address</th>
    <th scope="col">Enabled</th>
  </tr>
  <?php do { ?>

  <tr>

    <td><?php echo $row_Recordset1['username']; ?></td>
    <td><?php echo $row_Recordset1['fName']; ?></td>
    <td><?php echo $row_Recordset1['sName']; ?></td>
    <td><?php echo $row_Recordset1['email']; ?></td>

    <form action="" method="post">
    <td>
    <input type="checkbox" name="enable" id="enable"></td>
    </td>



  </tr>
  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
     <input class="submit" type="submit" value="Submit" name="submit">
    </form>
</table>


if(isset($_POST['submit'])){

$query = mysql_query("UPDATE student SET enable = 1 WHERE");    

}

用户名
名字
姓
电子邮件地址
启用
如果(isset($_POST['submit'])){
$query=mysql\u query(“更新学生集启用=1,其中”);
}
任何帮助都将不胜感激 谢谢

更新

我想我会有所收获的。到目前为止我有这个,它更新了数据库

<?php require_once('Connections/localhost.php'); ?>
<? ob_start(); ?>
<?php

if(isset($_POST['submit'])){

foreach($_POST['enable'] as $enable) {
    $query = mysql_query('UPDATE student SET enable = 1');
}



}
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_Recordset1 = "-1";
if (isset($_GET['1'])) {
  $colname_Recordset1 = $_GET['1'];
}
mysql_select_db($database_localhost, $localhost);
$query_Recordset1 = sprintf("SELECT * FROM student WHERE enable = 0", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $localhost) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
$sql="SELECT * FROM student";
?>

<p class="headText">Enable Student</p>

<p>Click the check box for each of the students you would like to enble and click the submit button</p>
<form id="submit" action="" method="post">
<table class="fileTable" border="1">
  <tr>
    <th scope="col">Username</th>
    <th scope="col">First Name</th>
    <th scope="col">Surname</th>
    <th scope="col">Email Address</th>
    <th scope="col">Enabled</th>
  </tr>
  <?php do { ?>

  <tr>

    <td><?php echo $row_Recordset1['username']; ?></td>
    <td><?php echo $row_Recordset1['fName']; ?></td>
    <td><?php echo $row_Recordset1['sName']; ?></td>
    <td><?php echo $row_Recordset1['email']; ?></td>

    <td>
    <input type="checkbox" name="enable[]" value="<?php echo $row_Recordset1['id'] ?>"/>
    </td>


  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
     <input class="submit" type="submit" value="Submit" name="submit">
    </form>
    </tr>
</table>
 </form>


<?php

mysql_close();


mysql_free_result($Recordset1);
?>
<? ob_flush(); ?>

注意事项:

<input type="checkbox" name="enable" id="enable"> 
最后建议列出使用while而不是do while

注意事项:

<input type="checkbox" name="enable" id="enable"> 
<input type="checkbox" name="enable" id="enable" value='something' />

<?php
   if(isset($_POST['submit'])){
      if(!empty($_POST['enable'])) {
          //do your update query
      }
   }
?>
最后建议列出使用while而不是do while


<input type="checkbox" name="enable" id="enable" value='something' />

<?php
   if(isset($_POST['submit'])){
      if(!empty($_POST['enable'])) {
          //do your update query
      }
   }
?>
希望能有所帮助。



希望有帮助。

您的
$row\u Recordset1
数组似乎包含数据库的数据。使用每行的主键(例如用户名或id)并将其置于复选框的值中。因此,您可以使用这样的html代码

<input type="checkbox" name="enable[]" value="<?php echo $row_Recordset1['id'] ?>">
在循环之前,不要忘记清理
$\u POST
的值,以防止不必要的输入


对html代码的一个注释是:在表格周围放置
标记。使用表单标记的方式将导致无效代码。您为每个do循环创建一个表单标记,但在最后只使用一个
关闭所有标记。

您的
$row\u Recordset1
数组似乎包含数据库的数据。使用每行的主键(例如用户名或id)并将其置于复选框的值中。因此,您可以使用这样的html代码

<input type="checkbox" name="enable[]" value="<?php echo $row_Recordset1['id'] ?>">
在循环之前,不要忘记清理
$\u POST
的值,以防止不必要的输入


对html代码的一个注释是:在表格周围放置
标记。使用表单标记的方式将导致无效代码。您为每个do循环创建一个表单标记,但在最后只使用一个
关闭所有标记。

可能在更新的代码中使用带有值用户ID的复选框值属性:通过
$\u POST['enable']
循环时,所有学生记录的
enable
的值都设置为1。使用
'UPDATE student SET enable=1,其中id=“.$enable.”“
用于
mysql\u query()
。可能在更新的代码中使用带有值user id的复选框值属性:当通过
$\u POST['enable']
循环时,所有学生记录的
enable
的值都设置为1。使用
'updatestudent SET enable=1,其中id=“.$enable.”“
代替
mysql\u query()