如何在循环外设置在 while 循环中生成的提交按钮?

How to isset a submit button generated in a while loop, outside the loop?

你们知道如何在循环外设置提交按钮吗?

当我在循环外设置时,按钮的名称 = 所有 id 消息(因此我的 isset 不起作用)
而当我在循环内设置时,按钮的名称 = 一个id 消息(因此,isset 内部工作正常)。

但是,我需要在循环外设置提交按钮。你能帮帮我吗?

$conn = new PDO("mysql:host=localhost;dbname=likes;charset=utf8", "root", "");

$resultats = $conn->prepare("SELECT * FROM message ORDER BY date DESC LIMIT 50");
$resultats->execute();

while (($messages = $resultats->fetch())!== false){ 

?>

<form action="" method="POST">
    <button type="submit" name="<?php echo $messages['idmessage']; ?>">Likes</button>
</form>

<?php
}
?> 

<?php

if(isset($_POST[$messages['idmessage']])){
echo $messages['idmessage'];
}

?> 

我会像这样为每个表单添加一个 type='hidden'

<form action="" method="POST">
    <input type='hidden' name='message_id' value='<?php echo $messages['idmessage']; ?>' />
    <button type="submit" name="like_button">Likes</button>
</form>


<?php
if(isset($_POST['like_button'])) {
   #get the message id for the form that was submitted
   echo isset($_POST['message_id']) ? 'Message ID is '. $_POST['message_id'] : 'no message id found. Kill script';
}

?>