Php 允许用户删除配置文件信息
我正在尝试创建一个表单,该表单在用户配置文件中显示用户的当前服务信息,然后允许用户为其提供的一个或多个服务选择一个复选框,然后点击删除按钮删除与该复选框相关的服务。每个服务都有一个唯一的ID,因此我假设我需要使用它,以便查询知道要删除什么 以下是我使用的相关代码和表格:Php 允许用户删除配置文件信息,php,mysql,delete-row,Php,Mysql,Delete Row,我正在尝试创建一个表单,该表单在用户配置文件中显示用户的当前服务信息,然后允许用户为其提供的一个或多个服务选择一个复选框,然后点击删除按钮删除与该复选框相关的服务。每个服务都有一个唯一的ID,因此我假设我需要使用它,以便查询知道要删除什么 以下是我使用的相关代码和表格: <?php if (isset($_POST['OddJobName']) && isset($_POST['Description']) && isset($_POST['DaysAva
<?php
if (isset($_POST['OddJobName']) && isset($_POST['Description']) && isset($_POST['DaysAvailable']) && empty($errors) === true){//if (empty($_POST) === false && empty($errors) === true) { //if (isset(empty($_POST['OddJobName'])) && isset(empty($_POST['Description'])) && isset(empty($_POST['DaysAvailable'])) === false && empty($errors) === true)
$daysavailable='';
foreach ($_POST['DaysAvailable'] as $value)
{
$daysavailable .=$value." ";
}
$Delete_Oddjob = array (
'MemberID' => $MemberID,
'OddJobID' => $_POST['OddJobID'],
'OddJobName' => $_POST['OddJobName'],
'Description' => $_POST['Description'],
'DaysAvailable' => $daysavailable,
);
Delete_Oddjob ($Delete_Oddjob);
if(success){
header('Location: member.php?username='.$username);
exit ();
}
} else if (empty($errors) === false){
//otherwise output errors
echo output_errors($errors);
}
?>
<?php
$result = mysql_query("SELECT * FROM `oddjob` WHERE `MemberID` = $MemberID");
while($row = mysql_fetch_assoc($result))
{
echo"<table width='100%' border='1' cellspacing='0' cellpadding='5'>
<td width='50%'>
<table width='100%' cellspacing='17' cellpadding='0'>
<form action='' method ='post' enctype='multipart/form-data'>
<tr>
<td>
<input type='hidden' name='MemberID' id='MemberID' value= ". $MemberID .">
</td>
</tr>
<tr>
<td>
<input type='hidden' name='OddJobID' id='OddJobID' value= ". $row['OddJobID'] .">
</td>
</tr>
<tr>
<td width='35%'>
<p>Name of OddJob*:</p>
</td>
<td>
<input type='text' name='OddJobID' style='width:180px' value= ". $row['OddJobID'].">
</td>
</tr>
<tr>
<td width='35%'>
<p>Name of OddJob*:</p>
</td>
<td>
<input type='text' name='OddJobName' style='width:180px' value= ". $row['OddJobName'].">
</td>
</tr>
<tr>
<td>
<p>Description*:</p>
</td>
<td>
<div class='expandingArea'>
<pre><span></span><br></pre>
<textarea name='Description'>". $row['Description'] ."</textarea>
</div>
</td>
</tr>
<tr>
<td>
<p>Days Available(current week)*:</p>
<p>(hold Ctrl to select multiple)</p>
</td>
<td>
<select name='DaysAvailable[]' size='5' multiple='multiple' id='DaysAvailable[]'>
<option value='Monday'>Monday</option>
<option value='Tuesday'>Tuesday</option>
<option value='Wednesday'>Wednesday</option>
<option value='Thursday'>Thursday</option>
<option value='Friday'>Friday</option>
<option value='Saturday'>Saturday</option>
<option value='Sunday'>Sunday</option>
</select>
</td>
</td>
<tr>
<td>
<input type='checkbox' name='Delete' value= ". $row['OddJobID'] .">
</td>
</tr>
</table>
</table>
</table>
<input type='submit' name='Delete' value='Delete'>
</form> ";
}
?>
我不知道该怎么做。当我选中一个复选框并单击“删除”按钮时,页面似乎会刷新,但不会发生其他任何事情。此外,如果我尝试回显查询,则不会显示任何内容
if (isset($_POST['delete'])) {
foreach($_POST['delete'] as $oddjob) {
if (Delete_Oddjob($oddjob)) {
// success
} else {
// failure
}
}
}
任何帮助都会很好。谢谢你。你几乎有了解决方案 将删除复选框重命名为name=“Delete[]”,允许在一个名称下发布多个复选框,然后在PHP端,您可以通过以下方式访问这些复选框:
无论何时提交表单并且选择了删除选项,这都将循环通过表单上的所有复选框,并使用其ID将其删除。请注意,未选中的复选框不会通过$\u POST传递,如果您希望将来拥有一些依赖于取消选中复选框的功能。
echo "DELETE FROM `oddjob` WHERE `OddJobID` = '".$_POST['OddJobID']."'";
if (isset($_POST['delete'])) {
foreach($_POST['delete'] as $oddjob) {
if (Delete_Oddjob($oddjob)) {
// success
} else {
// failure
}
}
}