2017-09-25 6 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>'; 
} 
関連する問題