0

我遇到了以下问题:我有一个带有文本的表格,每个表格旁边都有一个复选框。我还有一个类似按钮的链接“删除选定的”。我想要的是让用户能够通过复选框选择许多文本并一起删除选定的文本。问题是我不想使用表单,所以我不能使用 $_POST,所以我想我必须使用 $_SESSION。我以前使用过会话,但我不知道如何将它们与复选框结合使用..

如果你能给我一些提示或例子,我将非常感激..

我的部分代码给你一个线索..

view_texts.php

<?php 

        $sql="SELECT * FROM texts";
        $res=mysql_query($sql) or die(mysql_error());
        $i=1;
        while($row=mysql_fetch_array($res))
            {
     ?>

        <tr>
            <td><input type="checkbox" name="check[]" value="<?php echo $row['id']?>"/></td>
            <td><?php echo $i; ?></td>
            <td><?php echo $row['title']; ?></td>
            <td><?php echo substr($row['description'],0,20); ?></td>
            <td><?php echo $row['page_id']; ?></td>

            <td><a href="edit_text.php?id=<?php echo $row['id'];?>"><img src="images/user_edit.png" alt="" title="" border="0" />                   </a></td>
            <td><a href="delete_text.php?id=<?php echo $row['id'];?>" class="ask"><img src="images/trash.png" alt="" 
            title="" border="0" /></a></td>
        </tr>
      <?php
       $i++;
            }
      ?> 
<a href="delete_selected_texts.php" class="bt_red"><span class="bt_red_lft"></span><strong>Διαγραφή επιλεγμένων</strong><span class="bt_red_r"></span></a>

delete_selected_texts.php

<?php
        if (isset($_POST['check']))
        {
            foreach ($_POST['check'] as $value)
                {
                    $sql = "DELETE FROM texts WHERE id =".$value;
                    mysql_query ($sql);

                }

        }  
?>

这是我用于表单标签内的文本框的代码。

4

1 回答 1

0

如果您坚持不使用表单,无论出于何种原因,您正在考虑使用 javascript 并在 POST 上发送 AJAX 请求。我推荐使用 jQuery,因为它极大地简化了选择要定位的元素的过程。

它看起来像这样......

$(document).function(){
    $(":checkbox").click(function(e){
              var deleteItem = $("input:id").val();
              $.ajax({
                      type: "POST";
                      data: deleteItem;
                      url: "path/to/a/file.php";
                      success: function(data){
                              if (data="success"){
                                  $(this).css("backgroundcolor", "blue");
                              } else {
                                  alert("failed to find item");
                              }
                          }
          });
}

然后,您需要有一个 Ajax 请求将数据发送到的文件,该文件将构建一个项目列表以删除/从该列表中删除项目,当调用 delete_selected_texts.php 时将存储和调用该列表以删除.

注意:上面的 jQuery 没有经过检查。那里很有可能出现几个错误。

于 2012-04-10T15:55:14.440 回答