2011-03-05 92 views
0

在我設計管理列表頁面的網站上顯示了諸如姓名,電子郵件,用戶名和狀態(無論是活躍用戶還是非活躍用戶)等字段。我的數據庫有一個表,名爲admin。這些字段是iAdminId,vFirstName,vLastName,vEmail,vUserName,vPassword,vFromIP,vFromIP,dLastLogin和eStatus。在等價的PHP頁面(管理列表頁面)中,我添加了一個活動的&非活動按鈕。每行都有複選框。一旦他/她點擊了活動不活動按鈕,管理員選擇的行數將被更新(當然確認後)。激活如何訪問ID?

我javscript代碼:

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

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

if($mode=="Active") 
    { 
    for($i=0;$i<count($_POST['ch']);$i++) 
    { 
     $active = "UPDATE admin SET eStatus = 'Active' WHERE iAdminId = '" . $_POST['ch'][$i] . "'"; 
     $result = mysql_query($active,$conn); 
    } 
    } 

即使選擇了不刪除選定的記錄後。我也嘗試迴應。

echo $ active =「UPDATE admin SET eStatus ='Active'WHERE iAdminId ='」。 $ _POST ['ch'] [$ i]。 「'」;

「CH」 是所有複選框

它顯示數組名: UPDATE管理員設置eStatus = '無效' WHERE iAdminId = ''

任何幫助將不勝感激。在此先感謝

通道用作:

請幫助。這很緊急。謝謝大家

+0

您的表單看起來如何?它應該看起來像''。你也應該清理/驗證你的輸入,SQL注入是可能的。 – Lekensteyn 2011-03-05 10:23:57

回答

-1

對不起,打擾每個人和感謝支付解決我的問題的興趣負荷。

我想我需要一雙額外的眼睛來檢查我的代碼。正如@fabsn問我重新檢查了我的代碼。我輸入了複選框的值。所以他們沒有機會空着。這只是一個小拼寫錯誤。它現在糾正了,現在工作絕對正常。我想我現在需要更加小心,以免不必要地打擾你。

再次感謝

0

在你的情況下,$_POST['ch']應該是一個數組。通過將var_dump($_POST['ch'])放入您的PHP腳本來檢查是否屬實。

此外,您的複選框應使用相同的名稱(<input name="ch[]" value="Element-ID" />)。

無需在括號中添加索引。如果你這樣做了,你的for-Loop(可以用foreach代替)將不起作用,因爲你只是檢查長度並用錯誤的鍵遍歷數組。

+0

檢查你的html源碼。我猜你的複選框沒有正確的值。看起來他們都有一個空值('value =「」') – fabsn 2011-03-05 15:52:35