我正在做一个涉及PHP的家庭作业。基本上,我有一个页面,其中包含一个呈现从数据库中提取的项目的 Web 表单。每行都有复选框和 2 个单选按钮。用户选择"接受"或"拒绝",单击提交时,选中的项目应更改为该审批状态。表格中的所有项目都已提交到邮政中。我认为 post 是一个数组,所以我可以使用带有计数器的 while 循环,以便循环遍历数组以及何时到达最后一个索引(应包含批准或拒绝)。将生成一个查询,该查询将前面的所有索引更改为批准或拒绝。如果这没有多大意义,我很抱歉。这是一张图片,用于更多说明
这是我用来生成网络表单的代码:
<?php
#create a query string
$query = "SELECT * FROM Request WHERE superemail = '$user'";
#echo $query;
#run the query
$result = mysqli_query($link, $query) or die('error querying');
while($row = mysqli_fetch_array($result)){
#print out each row of the queryi
#line up the query results with temporary strings
$change = $row['KEY'];
$name = $row['first']. " " . $row['last'];
#echo $name;
$email = $row['email'];
#echo $email;
$type = $row['type'];
#echo $type;
$duration = $row['duration'];
$status = $row['status'];
#create a table row with the query results
echo "<tr><td><input type=checkbox name=$change /></td>
<td>$name</td>
<td>$email</td><td>$type</td>
<td>$duration</td><td>$status</td></tr>";
} #end while
?>
<label for=update>Change status to:</label><br />
<input type=radio name=update value=A />Approved<br />
<input type=radio name=update value=D />Denied<br />
<input type = submit value = "Change Status" />
input
标签(复选框和单选按钮)都应该有一个name属性,例如:<input type='radio' name='accept' value='1' />
。 当 PHP 提交和处理表单时,您的脚本将能够以$_POST['accept']
访问该信息(或$_GET['accept']
,具体取决于表单的方法)。
因此,您应该能够为单选按钮指定一个名称,然后检查该索引处的 POST 数组中是否有值。
我将假设一些事情。首先,您的设计目标是仅处理审批队列中您选择选择的项目,而忽略其他项目。其次,您希望将其状态更改为单选按钮中选择的状态。第三,你既需要代码片段,也需要关于任务如何完成的解释。
所以,在这里。
您有一系列复选框;我假设它们具有相同的名称。如果您希望将值作为数组传递给 PHP,则绝对需要whatever[]
强调[]
来命名输入!这就是从复选框创建一个数组以显示在 $_POST/$_GET 中的原因。只有那些选定的项目才会出现在数组中。该值应该是有用的东西(例如相应数据库表中的值),您可以选择并查询...当然,在清理输入之后。
因此,您的 HTML 输入标记应如下所示:
<input type="checkbox" name="process[]" value="<?php echo $employeeName ?>" >
你应该有这个回来给你...
$_POST['process'][array(0=>name1, 1=>name2/*...etc*/)]
。您可以在闲暇时用 foreach 循环播放。