Php 选择复选框后显示数据库中的数据

Php 选择复选框后显示数据库中的数据,php,mysql,Php,Mysql,我希望有一个表单,允许用户通过选中复选框从表中选择要显示的数据。如果用户只希望显示2列,则应仅显示2列。我有我的代码,但在我提交后,它不会显示任何内容。这是我的代码: <form name="form1" method="post" action="view_emp.php"> <p>Select Option <input type="checkbox" name="number[]" value="name" />Name <input type=

我希望有一个表单,允许用户通过选中复选框从表中选择要显示的数据。如果用户只希望显示2列,则应仅显示2列。我有我的代码,但在我提交后,它不会显示任何内容。这是我的代码:

<form name="form1" method="post" action="view_emp.php">
<p>Select Option 
<input type="checkbox" name="number[]" value="name" />Name
<input type="checkbox" name="number[]" value="hired"  />Date Hired 
<input type="checkbox" name="number[]" value="basic" />Basic Pay
<input type="checkbox" name="number[]" value="incentives">Incentives
</p> 
<input type="submit" name="Submit" value="Submit"> 
</form> 

选择选项
名称
雇用日期
基本工资
激励措施

以下是我的php:

<?php 
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('eis', $db) or die (mysql_error());

$employee = array();

foreach ($_POST['number'] as $employee) {
    $number = mysql_real_escape_string($number);
    $employee[] = "'{$number}'";
}
$sql = "select * from employees where type in (" .implode(", ", $number). ")";
$result = mysql_query($sql); 
while ($row = mysql_fetch_array($result)) { 
 print $row['name']; 
} 
?>

我是php的初学者,我需要专家和专家的帮助。谢谢你

PHP的introde()和explode()函数可能会派上用场。通过使用内爆($\u POST['number']),可以轻松地将POST或GET属性“number”转换为逗号分隔的列表。这将很容易存储在一个MySQL字段中,可能是用户表中的一列

如果希望用户稍后编辑表单,请使用循环呈现复选框,并为每个复选框元素添加“checked”属性,这些元素的名称存在于从数据库检索的“分解”列表(数组)中


这基本上是序列化/反序列化。还有其他方法,包括serialize()、unserialize()或json_encode()、json_decode()。但是,由于您的数据似乎很容易建模为一个基本列表,因此您可以让它更简单。

您在
$result=mysql\u查询($sql)中使用的
$sql
在哪里在新代码中。它们不再得到维护。看到了吗?而是学习,并使用或-哦,我忘记粘贴我的查询。。。