Я в основном закодировал код, который заполняет список категорий из моей базы данных, тогда вы можете выбрать, какой из них удалить.
У меня проблема с кодом удаления, который, похоже, не работает из-за ошибки:
Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in F:\xamppnew\htdocs\650032\admin\delete.php on line 6
Строка, вызывающая это:
if(isset($_POST['delete_id'] && !empty($_POST['delete_id']))) {
deletecategory.php
<h3> Delete Category </h3> <?php $result = mysql_query("SELECT * FROM category"); ?> <table> <?php while($row = mysql_fetch_array($result)) : ?> <tr id="<?php echo $row['category_id']; ?>"> <td><?php echo $row['category_Name']; ?></td> <td> <button class="del_btn" rel="<?php echo $row['id']; ?>">Delete</button> </td> </tr> <?php endwhile; ?> </table> <script> $(document).ready(function(){ $('.del_btn').click(function(){ var del_id = $(this).attr('rel'); $.post('delete.php', {delete_id:del_id}, function(data) { if(data == 'true') { $('#'+del_id).remove(); } else { alert('Could not delete!'); } }); }); }); </script>
delete.php
<?php if(isset($_POST['delete_id'] && !empty($_POST['delete_id']))) { $delete_id = mysql_real_escape_string($_POST['delete_id']); $result = mysql_query("DELETE FROM category WHERE `id`=".$delete_id); if($result !== false) { echo 'true'; } } ?>
Вы пропустили это )
:
if(isset($_POST['delete_id']) && !empty($_POST['delete_id'])) ^---
Другие показали проблему отсутствия )
в выражении, но empty()
будет проверять isset()
так что это избыточно. Просто проверьте empty()
:
if(!empty($_POST['delete_id'])) {
Проблема в том, что это
if(isset($_POST['delete_id'] && !empty($_POST['delete_id'])))
должно быть
if(isset($_POST['delete_id']) && !empty($_POST['delete_id']))
Проблема в том, что это
if(isset($_POST['delete_id'] && !empty($_POST['delete_id'])))
должно быть
if((isset($_POST['delete_id'])) && (!empty($_POST['delete_id'])))