2017-09-25 1 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>'; 
} 
관련 문제