删除页面的未定义索引

时间:2019-06-25 18:42:52

标签: php

我正在尝试为直接从mysql数据库获取数据的表创建删除选项。我有一个显示表格的功能,想在每个类别中添加“删除”按钮。根据我的表,我以某种方式获得了“ cat_id”的未定义索引,该索引为“类别ID”。

这是我正在使用的功能 函数dispcategories(){         包括('connection.php');

    $select = mysqli_query($con, "SELECT * FROM categories");
    echo '';

    while ($row = mysqli_fetch_assoc($select)) {
        echo "<table class='category-table'>";
        echo "<tr><td class='main-category' colspan='2'>".$row['category_title']."</td></tr>
              <tr><td><a href='deletecategory.php?id=".$row['cat_id'].";? >'>delete</a></td></tr>;"; 
          dispsubcategories($row['cat_id']);

        echo "</table>";
    }
}

这就是我在删除页面上所拥有的

$id = $_GET['cat_id'];
$del = mysqli_query($con, "DELETE FROM `categories` WHERE id='$id'");

2 个答案:

答案 0 :(得分:0)

;?>中删除href='deletecategory.php?id=".$row['cat_id'].";?>',这里</tr>;上也不需要分号

然后您的网址是deletecategory.php?id=xx,因此您应该使用$_GET['id']而不是$_GET['cat_id']

答案 1 :(得分:-1)

尝试如下修改您的代码

$select = mysqli_query($con, "SELECT category_title, cat_id FROM categories");

    echo "<table class='category-table'>";

while ($row = mysqli_fetch_assoc($select)) {
    if(!isset($row['cat_id'])
         continue;

    echo "<tr>
              <td class='main-category' colspan='2'>".$row['category_title']."</td>
              <td><a href='deletecategory.php?id=".$row['cat_id']."'>delete</a></td>
         </tr>;"; 
      // dispsubcategories($row['cat_id']); // I don't know the use of this but try to comment it

}
    echo "</table>";

致谢