【发布时间】:2015-05-10 04:23:16
【问题描述】:
我对 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 查询。这样的事情通常是怎么做的,请帮忙。
【问题讨论】:
-
那么,按钮只有一个,需要检查是否点击了LIKE和Question?
-
不相关:对象上的
ids 必须是唯一的。您为每个按钮提供与id="myButton"相同的 id - 您不应该给它们一个 id,或者确保它们是唯一的(例如id="myButton_<?= i ?>"其中 i 是某种递增计数器) -
要“将值分配给 PHP 变量”,您需要通过 AJAX 或标准 GET/POST 请求再次调用服务器。见stackoverflow.com/questions/13840429/…
标签: javascript php html mysql button