2016-05-13 58 views
0

我目前正在創建我的網站的賬號管理系統,我決定增加一個功能,它使我宣佈的天氣特定帳戶有效或無效。數據從我的mysql表中檢索。PHP - 獲取錶行的id點擊

$query = mysqli_query($DBConnect,"SELECT * from REG"); 
echo "<table class = 'table' style = 'width:90%;text-align:center'>"; 
     while($getData = mysqli_fetch_assoc($query)) 
     { 
      $username = $getData['uname']; 
      $fname = $getData['fname']; 
      $mname = $getData['mname']; 
      $lname = $getData['lname']; 
      $bday = $getData['bday']; 
      $email = $getData['email']; 
      $contact = $getData['contact']; 
      $gender = $getData['gender']; 
      if($getData['userlevel'] == 1) 
      { 
       $userlevel = "user"; 
      } 
      else 
      { 
       $userlevel = "admin"; 
      } 
      if($getData['status'] == 1) 
      { 
       $status = "active"; 
      } 
      else 
      { 
       $status = "disabled"; 
      } 

      echo "<tr>"; 
      echo "<td>$username</td><td>$fname</td><td>$mname</td><td>$lname</td><td>$bday</td><td>$email</td><td>$contact</td><td>$gender</td><td>$userlevel</td><td> 
      <a href ='..\status.php' >$status </a></td></tr>"; 

     } 
     echo "</table>"; 

這是status.php的內容

session_start(); 
$DBConnect = mysqli_connect("localhost", "root","","kenginakalbo") 
or die ("Unable to connect".mysqli_error()); 


$query = mysqli_query($DBConnect,"SELECT * from REG where id = '$_SESSION[id]'"); 
     while($getData = mysqli_fetch_assoc($query)) 
     { 
      $status = $getData['status']; 
      echo "'$_SESSION[id]'"; 
     } 

if($status == 1) 
{ 
    $query = mysqli_query($DBConnect, "UPDATE REG SET status = 0 where id = '$_SESSION[id]'"); 
} 
else if ($status == 0) 
{ 
    $query = mysqli_query($DBConnect, "UPDATE REG SET status = 1 where id = '$_SESSION[id]'"); 
} 

header("Location: admin/login.php"); 

我需要做的就是該行的ID點擊,在我的會議聲明,以便它可以在使用「 status.php「文件。但是在這段代碼中,表中的最後一個id是因爲循環而被聲明爲會話的那個id。我如何獲得被點擊的行的id值? ?(有沒有有點像在PHP的onClick功能謝謝

+1

你應該閱讀有關_GET $全局變量。您可以在URL parametr通過例如ID這樣status.php?ID = $ ID,然後在status.php獲取變量$ ID = $ _GET [ '身份證'] – pr0metheus

回答

0

通ID參數,

status.php?id=$id; 

status.php

$id = $_GET['id']; 
+0

這是新的我。謝謝! –

+0

歡迎您,請將此答案投票爲已接受答案 – AJ93

0

更改:

echo "<td>$username</td><td>$fname</td><td>$mname</td><td>$lname</td><td>$bday</td><td>$email</td><td>$contact</td><td>$gender</td><td>$userlevel</td><td> 
    <a href ='..\status.php' >$status </a></td></tr>"; 

到:

echo "<td>$username</td><td>$fname</td><td>$mname</td><td>$lname</td><td>$bday</td><td>$email</td><td>$contact</td><td>$gender</td><td>$userlevel</td><td> 
    <a href ='..\status.php{$getData['id']}' >$status </a></td></tr>"; 

而在你status.php變化$_SESSION['id']$_GET['id']。但請確保首先通過mysql_real_escape_string($_GET['id'])或通過PDO防止SQL注入。

+0

我明白了。非常感謝你! –

0

在PHP中沒有onclick函數,但是您可以在每行上創建一個表單,該表單包含所在行的值。使用該表單只需發送一個帖子或獲取請求回到狀態.PHP。將它添加到會話中可能不是一個好主意。

而不是一個按鈕,你也可以創建一個鏈接修改你的循環,以便有一個屬性名爲$ ROWID和你的循環中增加它的。

<a href="/status.php?rowid=<?php echo $rowid; ?>"></a> 
0

也許,你真正想要的是在這裏使用GET超全局。您可以切換 爲

然後,你status.php頁面上使用$ _GET [ 「用戶id」]而不是$ _SESSION [ID]。

而且,你不需要一段時間的狀態頁。您應該檢查結果的數量,如果是1則意味着用戶存在,那麼你只是做一個$的getData = mysqli_fetch_assoc($查詢)未經而