2017-09-25 101 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>'; 
}