Javascript 如何从按钮列表中获取按钮ID?

Javascript 如何从按钮列表中获取按钮ID?,javascript,php,html,mysql,button,Javascript,Php,Html,Mysql,Button,我对php和javascript没有太多的了解,希望能得到一些帮助。我想能够准确地检测哪个按钮被点击。我正在为每行创建一个按钮,但我不知道如何确定单击是在哪一行进行的。这就是我目前所拥有的 # Get all the table data from the database $getData = mysqli_query($conn, "SELECT * FROM `query_table`") or die ("Error occured while selecting!"); //

我对php和javascript没有太多的了解,希望能得到一些帮助。我想能够准确地检测哪个按钮被点击。我正在为每行创建一个按钮,但我不知道如何确定单击是在哪一行进行的。这就是我目前所拥有的

    # Get all the table data from the database
$getData = mysqli_query($conn, "SELECT * FROM `query_table`") or die ("Error occured while selecting!");

// echo '<form method="post" action="index.php">';
echo '<table border="1">';

echo '<tr>';
echo '<td>Questions</td>';
echo '<td>Likes</td>';
echo '<td></td>';
echo '</tr>';

# Loop through each row and print out the question
while ($row = mysqli_fetch_array($getData)) {
    echo '<tr>';
        echo '<td>';
            echo $row['Question'];
        echo '</td>';

        echo '<td>';
            echo $row['Likes'];
        echo '</td>';

        echo '<td>';
        ?>

            <input type="button" id="myButton" value="Like" onclick="myFunc(<?=$row['ID']?>)" />

        <?php
        echo '</td>';
    echo '</tr>';
}

echo '</table>';
// echo '</form>';
echo '<p id="text"></p>';

mysqli_close($conn);
?>

<script type="text/javascript">
function myFunc(id) {
    document.getElementById("text").innerHTML = id;
}
</script>
到目前为止,这会打印出单击按钮的行id,但我不认为我可以将该参数值直接分配给php变量,然后用于mysql查询。像这样的事情通常是怎么做的,请帮忙

<input type="button" data-id="<?=$row['ID']?>" value="Like" onclick="myFunc(this)">


在JavaScript中,标记是指代码运行的上下文,在本例中是按钮。将自定义数据存储在以数据为前缀的属性中-以确保它们不受干扰-标准做法。

因此,按钮只有一个,需要检查是否单击了“喜欢”和“问题”?无关:对象上的ID必须是唯一的。您为每个按钮提供了相同的id,id=myButton-您不应该给它们一个id,或者确保它们是唯一的,例如id=myButton_u,其中i是某个排序的递增计数器,可能是重复的,要将值分配给PHP变量,您需要再次调用服务器,通过AJAX或标准GET/POST请求。看见
<script type="text/javascript">
function myFunc(button) {
    document.getElementById("text").innerHTML = button.getAttribute('data-id');
}
</script>