2012-12-31 103 views
0

删除多行我有以下的jquery代码来删除表的多个行:与复选框

$(function(){ 
    $("a.delete").click(function(){ 
     page=$(this).attr("href"); 
     ids=new Array() 
     a=0; 
     $("input.chk:checked").each(function(){ 
      ids[a]=$(this).val(); 
      a++; 
     }) 

     if(confirm("Are you sure want to delete?")){ 

       el=$(this) 
       $.ajax({ 
        url:page, 
        data:"id="+ids, 
        type:"GET", 
        success:function(res) 
        { 
         if(res==1) 
         { 
          $("input.chk:checked").each(function(){ 
           $(this).parent().parent().remove(); 
          }) 
         } 
        } 
       }) 
     } 
     return false; 
    }) 
}) 

复选框(具有名称question_id值是确定的,该复选框是在while循环中):

<input name="chk[]" class="chk" type="checkbox" value="'<?php echo $row1['question_id'];?>'" /> 

删除链接(外循环):

<a href="delete_quiz_questions.php" class="delete">delete</a> 

和PHP页面删除的记录:

<?php 
    session_start(); 
    include('connect_db.php'); 

    $delete_id = $_GET['id']; 

    $id = count($delete_id); 

    if (count($id) > 0){ 
     foreach ($delete_id as $id_d){ 
      $sql = "DELETE FROM quiz_questions WHERE id_questions ='$id_d' AND id_quiz ='".$_SESSION['quiz_id']."'"; 
      $delete = mysql_query($sql); 
     } 
    } 


?> 

,当我在HREF按钮来删除记录显示此消息

Notice: Undefined index: id in C:\wamp\www\diplomatiki\delete_quiz_questions.php on line 5 

Warning: Invalid argument supplied for foreach() in C:\wamp\www\diplomatiki\delete_quiz_questions.php on line 11 

Notice: Undefined variable: delete in C:\wamp\www\diplomatiki\delete_quiz_questions.php on line 18 

你能帮助我吗?

PHP页面发送数据

$result=mysql_query("SELECT * FROM quiz_questions WHERE id_quiz='".$quiz_id."' "); 

    if(mysql_num_rows($result)>0){ 
    $index = 1; 

    while($row=mysql_fetch_array($result)) 
    { 

    $result1=mysql_query("SELECT * FROM questions WHERE question_id ='".$row['id_questions']."'"); 

    if(mysql_num_rows($result1)>0){ 

    while($row1=mysql_fetch_array($result1)) 
    { 

    $result2=mysql_query("SELECT * FROM question_".$row1['type']." WHERE id_question='".$row1['question_id']."' LIMIT 1"); 
    if(mysql_num_rows($result2)>0){ 
    $row2=mysql_fetch_array($result2); 
    ?> 
    <tr> 
     <td><?php echo $index++; ?> </td> 
     <td><input name="chk[]" class="chk" type="checkbox" value="'<?php echo $row1['question_id'];?>'" /></td> 
     <td><?php echo $row1['type']; ?></td> 
     <td><?php echo $row2['question']; ?></td> 

    </tr> 
    <?php }} 

    } 


} 
echo '<input type="hidden" name="quiz_id" id="quiz_id" style="text-align: center" value="' . $quiz_id . '" size=5/>'; 

?> 

    </tbody> 
</table> 
<caption><a href="delete_quiz_questions.php" class="delete">delete</a></caption> 

<?php } else echo 'sorry'; ?> 

回答

1

必须使用explode的ID字符串转换为Array

$delete_id = explode(",", $_GET['id']) 
$id = count($delete_id); 
if (count($id) > 0) 

最初你必须这样做。

if (isset($_GET['id'])) { 

,所以你不会得到任何NoticeWarning

session_start(); 
include('connect_db.php'); 

if (isset($_GET['id'])) { 
    $delete_id = explode(",", $_GET['id']) 

    $id = count($delete_id); 

    if (count($id) > 0) 
    { 
     foreach ($delete_id as $id_d) 
     { 
       $sql = "DELETE FROM quiz_questions WHERE id_questions ='$id_d' AND id_quiz ='".$_SESSION['quiz_id']."'"; 
       $delete = mysql_query($sql); 
     } 
    } 
} 
+0

sahal现在我有两条消息:注意:未定义的索引:id在C:\ wamp \ www \ diplomatiki \ delete_quiz_questions.php上在第21行并且注意:未定义索引:quiz_id在C:\ wamp \ www \ diplomatiki \ delete_quiz_questions.php on line 27 –

+0

尝试我的代码。它会工作 – Sahal

+0

'$ _SESSION ['quiz_id']'我不知道它是怎么回事 – Sahal

1

首先你必须检查会议quiz_id的是存在或存在not.If你应该检查这个会话分配任何价值。

+0

注意:未定义的索引:quiz_id在C:\ wamp \ www \ diplomatiki \ delete_quiz_questions.php在第4行..我有问题..和我的页面刷新时,点击删除并发送给我delete_quiz_questions页 –

+0

你只是把一个警告框在成功:功能(水库) – Preethy

+0

的问题是非常大..没有发送.. id或quiz_id和页面刷新 –