2016-12-01 60 views
0

我已經成功創建了「添加到收藏夾」按鈕,現在「從收藏夾中刪除」部分有困難。使用多個AJAX操作的正確方法?

我不確定在PHP文件中處理多個ajax操作的正確方法。 到目前爲止我的代碼看起來是這樣的:

HTML

<div class="favourite-links"> 
    <a href="inc/functions?action=remove&..." id="remove"> 
Remove From Favourites 
</a> 
    <a href="inc/functions.php?action=add&..." id="add"> 
Add to Favourites 
</a> 
</div> 

JQUERY

$(document).ready(function() { 

    $('#add').click(function(event) { 
    event.preventDefault(); 

    var courseData = {...} 

    $.ajax({ 
     url: "inc/functions.php", 
     type: "POST", 
     data: courseData, 
     success: function() { 
     $('#add').css('display', 'none'); 
     $('#remove').css('display', 'inline'); 
     alert('successful'); 
     } 
    }); 
    return false; 
    }); 
}); 

PHP

<?php require("../../Common2.php"); 
$sessionID = $_COOKIE['PHPSESSID']; 
$student = $_POST['userid']; 
$courseID = $_POST['courseID']; 
$courseName = $_POST['courseName']; 


$query = "INSERT IGNORE INTO course_tag_fetch 
    (sessionID, courseID, courseName, userid) 
    VALUES 
    ('$sessionID', '$courseID', '$courseName', '$student')"; 

    $query_run = mysql_query($query); 

    if ($query_run) { 
     echo 'Success'; 
    } else { 
     echo 'Failed'; 

    } 

?> 

我想刪除操作,以從數據庫中刪除。將行爲置於if語句中的最佳方式是? 例如

if (action == "add") { 
--- INSERT query --- } 

if (action == "remove) { 
--- DELETE query ---} 

還是有更合適的方法來做到這一點? 任何幫助非常感謝。

+0

您可以添加'異步:FALSE'對jQuery調用,以便刪除調用不會之前調用如果您多次點擊添加呼叫。 –

+0

切勿使用鏈接更新數據庫。只需一次訪問谷歌將添加和刪除,並可能添加,添加,只需通過抓取您的頁面添加 – mplungjan

+0

@mplungjan謝謝,我可以只是將其更改爲一個不同的元素,像一個按鈕? – sol

回答

0

在你的PHP代碼

$action = trim($_REQUEST['action']); 
switch($action){ 
case 'add': 
// insert query here 
break; 
case 'remove': 
// delete query here 
break; 
} 

不要用戶mysql用戶PDO,而不是

+0

謝謝。爲什麼比if語句更好地使用案例?我從來沒有聽說過PDO,我會研究它! – sol

+0

@ovokuro看看 –

+1

@ovokuro這裏你去http://stackoverflow.com/a/10773060/1155551 –