2014-02-12 51 views
1

我有一個網頁,有數據進入mysql數據庫的幾行。我新來的Ajax我只是現在嘗試,因爲我想刪除行而不刷新網頁的原因。我只想問問我的代碼是否正確,或者我是否正確使用它。這是我的代碼。在刪除一行中使用ajax

這行的生成

  mysql_connect("localhost","root",""); 
      mysql_select_db("eis"); 
      $e=0; 
      $d = mysql_query("select * from hrd_ot"); 

      while($x=mysql_fetch_array($d)){ 
      $e++; 
       print"<tr id='row".$e."'> 
       <td>{$x['nam']}</td> 
       <td>{$x['dep']}</td> 
       <td>{$x['job']}</td> 
       <td>{$x['dateofot']}</td> 
       <td>{$x['frt']}</td> 
       <td>{$x['tot']}</td> 
       <td>{$x['toh']}</td> 
       <td>{$x['app']}</td> 
       <td><a href='#' onclick=\"return samplexx(".$x['id'].",row".$e.")\">OK</a></td> 
       </tr>";} 

,這裏是我的AJAX腳本|源http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp

<script> 
function samplexx(id,row) 
{ 
    var xmlhttp; 
    if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    xmlhttp.onreadystatechange=function() 
     { 
     row.style.display="none"; 
     } 
    xmlhttp.open("GET","sample.php?id="+id,true); 
    xmlhttp.send(); 
} 
</script> 

,這裏是我的sample.php

mysql_connect("localhost","root",""); 
mysql_select_db("eis"); 

mysql_query("delete from hrd_ot where id='{$_GET['id']}'"); 

也有可能是我已經選擇刪除將刪除不使用這行代碼row.style.display="none";

+0

您的代碼是否行之有效? – Konza

+0

是的,起初當我不把這個代碼row.style.display =「none」;被刪除的行仍然存在,但是當我刷新它時,它會消失 –

+0

請顯示您如何調用'samplexx()'函數 – andyb

回答

0

我行有一些建議。

如果您遵循REST,則不應使用「GET」方法,而應使用DELETE方法。

如果您可以檢查xmlHttpREquest的狀態,它將會很好。

if (xmlhttp.readyState==4 && xmlhttp.status==200) 
{ 
//hide row 
} 

排在samplexx功能不是一個jQuery參考所選行。所以,你應該要麼使用

$("#"+row).style.display="none". 

document.getElementById(row).style.display="none" 

下面的行只是隱藏的行從表中。這樣你就不必刷新頁面並獲取新的行列表。只有當服務器返回200狀態時才這樣做。

$("#"+row).style.display="none"; 
+0

先生我想我必須先閱讀.readyState == 4和.status == 200的用法 –

+0

我編輯了我的答案。請檢查。 – Konza

+0

先生你能解釋什麼是200狀態? –