2017-09-25 95 views
0

我已經在PHP中編寫了一個while循環,該循環創建了許多按鈕,其中包含它們在下拉列表中包含其個人用戶名的許多按鈕,這些按鈕與正在使用的某些用戶名來自數據庫。 (這是一個朋友添加系統)確定在while循環中創建按鈕時點擊了哪個按鈕

我想能夠從點擊的按鈕獲取用戶名,並將其存儲在一個變量,我知道該怎麼做,但我不能解決這個問題。

if($getAddFriendUsernamesResult) 
      { 
       $row=mysqli_fetch_array($getAddFriendUsernamesResult); 
       while($row) 
       { 
        $username = $row['username']; 
        if($username!=$_SESSION['_username']) #Doesnt print the users own name in add friends 
        { 
         ?><a><button class="AddFriendButton"><?php echo $row['username']; ?></button></a> 
         <?php 
        } 
        $row=mysqli_fetch_array($getAddFriendUsernamesResult); 
       } 
      } 

此刻此列出所有用戶名接受登錄在長列表中的人。我想獲取按鈕的內容(單擊按鈕的用戶名)並將其存儲在一個php變量中。

回答

0

首先,擺脫<a>標籤。

然後給出按鈕namevalue的屬性。

<button name="add_friend" class="AddFriendButton" value="<?= $row['username'] ?>"> 
    <?= echo $row['username']; ?> 
</button> 

然後(假設你的循環中的所有代碼都包含在<form>元素),你就可以從$_POST['add_friend']獲得的價值。


總體而言,這樣的事情:

<?php if ($getAddFriendUsernamesResult) { 

    // open a form 
    echo '<form method="post" action="add_friend.php">'; 
    while ($row = mysqli_fetch_array($getAddFriendUsernamesResult)) { 
     $username = $row['username']; 
     if ($username != $_SESSION['_username']) { 

      // give each button a name and value - may want to use id instead of username 
      echo "<button name='add_friend' value='$row[username]' class='AddFriendButton'> 
         $row['username'] 
        </button>"; 
     }; 
    } 
    echo '</form>'; 
}