2014-02-08 3 views
0

У меня есть эта проблема в моем списке пользователей, серверная сторона dataTable работает хорошо, покажите мне всех пользователей, которых у меня есть, я поместил кнопки для просмотра профиля, отредактировал профиль и удалил профиль. Идентификатор находится в href и отправляется на точный идентификатор пользователя. Единственная ошибка, когда я пытаюсь удалить любого пользователя ... ajax, я должен удалить пользователя по ID, ничего не делать ... можете ли вы мне помочь, пожалуйста.удалить в dataTable стороне сервера

Здесь на стороне сервера (только соединение):

$aColumns = array('id_user', 'nombre', 'apellido', 'id_tipo'); 

/* Indexed column (used for fast and accurate table cardinality) */ 
$sIndexColumn = "id_user"; 

/* DB table to use */ 
$sTable = "USERS"; 

/* Database connection information */ 
$gaSql['user']  = "soft_chas"; 
$gaSql['password'] = "123456"; 
$gaSql['db']   = "soft_chas"; 
$gaSql['server']  = "localhost"; 

JS Datatable:

$('#userTabla').dataTable({ 
    "bProcessing": true, 
    "bServerSide": true, 
    "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span12'i><'span12 center'p>>", 
    "sAjaxSource": "server_processing.php", 
    "aoColumns": [ 
     { "mData": "id_user" }, 
     { "mData": "nombre" }, 
     { "mData": "apellido" }, 
     { "mData": "tipo" }, 
     { 
      "mData": null, 
      "sClass": "center", 
      "sDefaultContent": "", 
      "fnRender": function (o) { 
      return '<a href="user_profile.php?id_user=' + o.aData[0] + '" class="btn btn-success"><i class="icon-user icon-white"></i> Ver perfil</a> <a href="user_edit.php?id_user=' + o.aData[0] + '" class="btn btn-info"><i class="icon-edit icon-white"></i> Editar</a> <a id="' + o.aData[0] + '" class="btn btn-danger" href="#"><i class="icon-trash icon-white"></i> Borrar</a>' 
     }, 
     "aTargets": [3] 
     } 
    ], 
    "sPaginationType": "bootstrap", 
    "oLanguage": { 
    "sLengthMenu": "_MENU_ registros por pag" 
    } 
}); 

JS для удаления пользователя по ID:

$(document).ready(function() 
{ 
    $('table#userTabla td a.btn-danger').click(function(e) 
    { 
     if (confirm("<?php $translate->__("Do you really want to delete User's record?"); ?>")) 
     { 
     e.returnValue = false; 
     var id = $(this).attr('id'); 
     var data = 'recordToDelete='+ id; 
      var parent = $(this).parent().parent(); 
      $.ajax(
      { 
        type: "POST", 
        url: "include/delete.php", 
        data: data, 
        cache: false, 

        success: function() 
        { 
         parent.fadeOut('slow', function() {$(this).remove();}); 
        } 
      });     
     } 
    }); 
    $('table#userTabla tr:odd').css('background',' #FFFFFF'); 
}); 

УДАЛИТЬ кода :

<?php 
include_once("configs.php"); 
if(isset($_POST["recordToDelete"]) && strlen($_POST["recordToDelete"])>0 && is_numeric($_POST["recordToDelete"])) { 
    $idToDelete = filter_var($_POST["recordToDelete"], FILTER_SANITIZE_NUMBER_INT); 
    if($stmt = $conn->prepare("DELETE FROM USERS WHERE id_user = $idToDelete")) 
    $stmt->bindParam("$idToDelete", $id_user, PDO::PARAM_INT); 
    $stmt->execute(); 
    } 
$conn = null; 
?> 

В таблице на странице:

<table class="table table-striped table-bordered bootstrap-datatable" id="userTabla" serverSide="true" processing="true"> 
     <thead> 
      <tr> 
      <th>ID</th> 
      <th><?php $translate->__('Name'); ?></th> 
      <th><?php $translate->__('Last Name'); ?></th> 
      <th><?php $translate->__('Type'); ?></th> 
      <th><?php $translate->__('Actions'); ?></th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td colspan="5" class="dataTables_empty center"><i class="icon-refresh"></i><img src="img/ajax-loaders/ajax-loader-1.gif" title="ajax-loaders">&nbsp;<?php $translate->__('Please wait'); ?> ...</td> 
     </tr> 
    </tbody> 
</table> 
+0

добавить свой код PHP для удаления 'включают/delete.php' –

+0

@VolkanUlukut, я уже добавил код – user3236149

+0

и я ответил. –

ответ

0

попробовать с этим АЯКС JS:

$(document).ready(function(){ 
    $(document).delegate('.btn-danger', 'click', function() { 
     if (confirm("<?php $translate->__("Do you really want to delete User's record?"); ?>")) 
     { 
      var id = $(this).attr('id'); 
      var data = 'recordToDelete='+ id; 
      var parent = $(this).parent().parent(); 
      $.ajax({ 
       type: "POST", 
       url: "include/delete.php", 
       data: data, 
       cache: false, 
       success: function() 
       { 
        parent.fadeOut('slow', function() {$(this).remove();}); 
       } 
      });     
     } 
    }); 
    $('table#userTabla tr:odd').css('background',' #FFFFFF'); 
}); 
+0

спасибо, что сейчас работает удаление funtion! – user3236149

0

ваше bindParam заявление есть некоторые вопросы. проверьте documentation. $ id_user не определен, и вы не используете именованный параметр в вашем bindParam. попробуйте это:

if($stmt = $conn->prepare("DELETE FROM USERS WHERE id_user = ?")) 
$stmt->bindParam(1, $idToDelete, PDO::PARAM_INT); 
Смежные вопросы