2011-03-05 57 views
1

在我設計管理列表頁面的網站上顯示了諸如姓名,電子郵件,用戶名和狀態(無論是活躍用戶還是非活躍用戶)等字段。我的數據庫有一個表,名爲admin。這些字段是iAdminId,vFirstName,vLastName,vEmail,vUserName,vPassword,vFromIP,vFromIP,dLastLogin和eStatus如何在不顯示其ID的情況下唯一標識記錄?

在等價的PHP頁面(管理列表頁面)我需要添加一個刪除按鈕。每行都有複選框。一旦他/她點擊刪除按鈕,管理員選擇的行數將被刪除(當然確認後)。我的問題是,因爲我沒有在我的列表頁面中提到iAdminId字段,我該如何唯一標識每條記錄?爲刪除

我javscript代碼:

function deleteRecord() 
{ 
    var count = getCount(); 
    if(count == 0) 
    { 
     alert("Please enter some records for deletion first!!"); 
    } 
    else 
    { 
     var c = confirm("Do you wish to delete?"); 
     if(c==true) 
     { 
     document.frm.mode.value="Delete"; 
     document.frm.submit(); 
     } 
     else 
     { 
     alert("You had wrongly selected 'Delete' option!!"); 
     } 
    } 

    } 

getCount將返回選定的記錄數。 和PHP代碼是

if($mode=="Delete") 
{ 
    for($i=0;$i<count($_POST['ch']);$i++) 
    { 
     $delete = "DELETE FROM admin WHERE Name = '".$_POST["ch"][$i]."'"; 
     $result = mysql_query($delete); 
    } 
} 
+0

您是否介意在客戶端源代碼中顯示此ID? – 2011-03-05 04:42:58

回答

2

提供的電子郵件是唯一的每個用戶你有檢查,以確保這種獨特性,它可以用於其他,沒有萬無一失的方式來做到這一點。唯一的方法是將該ID放入列表中。 這是每行的唯一標識符,因爲可以重複使用任何列的組合。 另一種選擇是跨所提到的兩個字段或電子郵件字段上的唯一鍵創建複合主鍵。

例如,確保電子郵件是唯一的,或者名字和姓氏的組合是唯一的。

+0

非常感謝。可能是唯一可用的方法。再次感謝 – ruki 2011-03-05 05:14:52

1

我會成立(有時人們使用的元素的名稱或ID屬性)的複選框等於「admin_n」或「user_n」,其中n = id的值。當按下delete之後提交表單時,您可以解析該名稱以將id拉出並以此方式處理。

這當然會發出源的用戶的ID,但是這個心不是一個真正的問題,除非你有你的代碼瘋狂的安全漏洞..

相關問題