2011-10-02 58 views
1

我在joomla文章中有一個腳本,通過數據庫並列出所有使用條目。一切都是在PHP中用echo語句完成的。如何從JavaScript onclick鏈接運行sql查詢

在每個條目的末尾,我添加了一個「刪除」按鈕。

例如:

 
    echo "[a href=\"#\" onclick=\"javascript:(NEED TO RUN QUERY HERE)\"]Delete[/a]"; 

我怎樣才能做到這一點?

(請忽略的方括號,我不知道如何使代碼顯示和預標記沒有工作那麼好)

+0

AJAX,使用[XMLHttpRequest的(https://developer.mozilla.org/en/using_XMLHttpRequest)以及在* VALIDATING *用戶身份之後處理請求的服務器端腳本。 –

+0

@Murtez:對於代碼塊,突出顯示代碼,然後在編輯器中按下ctrl-K或「{}」按鈕。如果您想在一大塊非代碼中嵌入一小段代碼,請在代碼段中使用反引號。 –

回答

0

阿賈克斯,你會作出從JavaScript調用你的PHP腳本,返回在JSON中的數據,解析它並將條目追加到dom

0

我建議您看看這http://www.w3schools.com/php/php_ajax_intro.asp它應該引導您完成您請求設置AJAX的步驟。左側有鏈接,你將如何在PHP中編寫代碼並進行數據庫查詢。

我建議您只是帶上示例代碼並調整它以滿足您的需求。玩的開心!

+1

在推薦W3Schools之前,請參閱http://w3fools.com/。 –

+0

如果您要發表評論,請發表您的備選方法或示例錯誤的地方。否則,當涉及到上述問題時,您的評論是非建設性的。 –

+0

我不反對你的解決方案(使用Ajax)。我* *反對鏈接。我也是從W3School開始的 - 但是在查詢來自MySQL數據庫的信息的例子中,W3Schools示例將'xmlhttp'變量泄漏到全局作用域中,不對在查詢字符串參數中通過線路發送的值進行編碼,在怪癖模式下,因爲HTML沒有*任何* doctype **並且**通過將$ _GET [「q」]'的值直接放入SQL查詢中而暴露數據庫到SQL注入攻擊。這一切都在一個頁面中,沒有任何*作者的警告。 –

0

這裏是一個關於如何使用jquery ajax的例子。

$('#buttonid').click(function() { 
    $.ajax({ 
    type: "POST", 
    url: "pathtoserversidescipt", 
    data: $("#formid").serialize(), 
    success: function(msg){ 
     ("whatever you want to happen next") 
    } 
}); 
}); 

另請點擊這裏瞭解更多信息。 http://api.jquery.com/category/ajax/

0

您需要通過AJAX張貼鏈接到編輯區。在編輯區,你可以得到的帖子ID,並刪除它像

if(isset($_GET['delete']) and $_GET['delete'] != '') 

,並刪除

function remove() { 
    $id = JRequest::getVar('id'); 
    $db =& JFactory::getDBO(); 
    $query = "DELETE FROM #__cd_lend_request WHERE ck_CDid = '$id'"; 
    $db->setQuery($query); 
    $result = $db->query(); 
    $this->setRedirect(JRoute::_('index.php?option=com_cd'), 'CD has been removed from the list!', 'notice'); 
}