2014-10-09 131 views
0

我正在建立一個收藏夾工具,用戶可以創建組的收藏夾。您可以通過複選框向羣組添加收藏夾。這一切都正常,但我想添加的一件事是當你創建一個新的組時,新的組出現在現有的列表中,並且取消選中複選框。返回結果從ajax後

使用jQuery,返回用戶添加到組表中的最後一條記錄作爲POST回調的最佳方法是什麼?

的JS:

$('.add_new_group').click(function(){ 
    //var $add_new_group = $(this); 
    var user_id = $(document.body).attr('data-user-id'); 
    var new_group = $('.new_group').val(); 

    var data = { 
     'user_id' : user_id, 
     'new_group' : new_group 
    } 

    var url = "/wp-content/themes/testheme/action/new-group.php"; 

    $.ajax({ 
     type: "POST", 
     url: url, 
     data: data, 
     success: function(data) { 
      $('#new_group_container').html(); 
     } 
    }); 
}); 

新group.php

include('inc_db.php'); 

$user_id = $_POST['user_id']; 
$new_group = $_POST['new_group']; 

$check_records=mysql_query("SELECT user_id FROM tpl_groups WHERE user_id='$user_id' AND group_name='$new_group'"); 
$num_rows=mysql_num_rows($check_records); 

if($num_rows < 1){ 
    $query="INSERT INTO tpl_groups (user_id, group_name) VALUES ('$user_id', '$new_group')"; 
    mysql_query($query) or DIE (mysql_error()); 
} 

mysql_close(); 

回答

1

首先,我會小心暴露後端這樣。你可以編輯對這個問題不重要的任何內容。

如果這是使用腳本創建的組的名稱,是否有一個原因是您不僅僅在成功方法中使用new_group值?像這樣:

success: function(data) { 
    $('#yourtable').append('<tr><input type="checkbox">' + new_group + '</tr>'); 
} 

如果您想要從腳本中獲取該數據,您可以打印可用於成功功能的數據。例如,

<?php 
    echo $new_group; 
?> 

然而,前者可能更直接。

+0

有一張表包含組名和用戶標識,並且一張表包含組標識和最愛標識。所以要添加一個喜愛的組,我需要一個組ID。我可以使用組名而不是id,但我更喜歡與數字關聯。 – ok1ha 2014-10-10 13:25:24

+0

您需要使用相關的組名查詢該組ID以找到它(在new-group.php中)。一旦你有了這個ID,你可以像我的帖子中的第二個例子那樣打印。 – colonelsanders 2014-10-12 03:01:57