编辑:我添加了这个
if(isset($ _ POST ['delete'])&& isset($ _ POST ['checkbox'])) (从下面的答案得到,但似乎asnwer已经消失)
现在未定义的varialbe和索引错误消失了...但现在的问题是当我尝试删除时,它需要检查并单击两次删除按钮以删除所选行......
<form name="frmSearch" method="post" action="insert-add.php">
<table width="600" border="1">
<tr>
<th width="50"> <div align="center">#</div></th>
<th width="91"> <div align="center">ID </div></th>
<th width="198"> <div align="center">First Name </div></th>
<th width="198"> <div align="center">Last Name </div></th>
<th width="250"> <div align="center">Mobile Company </div></th>
<th width="100"> <div align="center">Cell </div></th>
<th width="100"> <div align="center">Workphone </div></th>
<th width="100"> <div align="center">Group </div></th>
</tr>
</form>
<?
echo "<form name='form1' method='post' action=''>";
while($objResult = mysql_fetch_array($objQuery))
{
echo "<tr>";
echo "<td align='center'><input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\" value=\"$objResult[addedrec_ID]\"></td>";
echo "<td>$objResult[addedrec_ID] </td>";
echo "<td>$objResult[FirstName]</td>";
echo "<td>$objResult[LastName] </td>";
echo "<td>$objResult[MobileCompany] </td>";
echo "<td>$objResult[Cell] </td>";
echo "<td>$objResult[WorkPhone] </td>";
echo "<td>$objResult[Custgroup] </td>";
echo "</tr>";
}
echo "<td colspan='7' align='center'><input name=\"delete\" type=\"submit\" id=\"delete\" value=\"Delete\">";
if (isset($_POST['delete']) && isset($_POST['checkbox'])) // from button name="delete"
{
$checkbox = ($_POST['checkbox']); //from name="checkbox[]"
$countCheck = count($_POST['checkbox']);
for($d=0;$d<$countCheck;$d++)
{
$del_id = $checkbox[$d];
$sql = "DELETE from UserAddedRecord where addedrec_ID = $del_id";
$result2=mysql_query($sql) or trigger_error(mysql_error());;;
}
if($result2)
{
$fgmembersite->GetSelfScript();
}
else
{
echo "Error: ".mysql_error();
}
}
echo "</form>";
感谢您的回复。
答案 0 :(得分:0)
第一个通知是由于没有$ _POST [“checkbox”]变量。如果您正在使用AJAX,请使用firebug检查您的查询以检查您是否正在发送复选框变量。
第二个未定义来自你的嵌套。请参阅下面的示例:
$foo = 0
if($foo ==1){
$bar = 5;
}
if($bar == 2){
//Blah
}
如果你要运行那么$ bar将永远不会被设置,因此通知。由于$ countPck设置为0,因为$ _POST [“checkbox”]未设置,因此for循环永远不会运行,因此$ result2永远不会设置。
答案 1 :(得分:0)
您的问题是,您有一个嵌套在另一个表单中的表单。
<form name="frmSearch" method="post" action="insert-add.php">
并且在中间你有
echo "<form name='form1' method='post' action=''>";
删除第二个,“echo”'ed是一个......
除非你关闭第一张表格,否则你不能在其中发出另一张表格......