动态数量的按钮中单击了什么按钮

时间:2019-06-04 10:24:17

标签: php

我有一个数据库,其中包含一个自动增量ID,位置和日期旅行。使用此代码,我可以在显示器上显示查询结果。

$mysqli = new mysqli("localhost", "root", "password", "trip");
$result = $mysqli->query("SELECT * FROM news WHERE location = '$location'");

echo "<br/><h3>"."Result, I found " .$result->num_rows. " results.". "</h3><br/>";


while($row = $result->fetch_assoc()) {
    echo "<tr><td>".$row["location"]."</td><td>".$row["date"]."</td><td>".' <button type="submit" value="reserve"/>'. "</td></tr>";
}

我怎么知道用户单击哪个按钮来预订行程?

3 个答案:

答案 0 :(得分:2)

$('button').on('click',function(){
    alert($(this).val()); // do anything what you want

});

示例代码段:-

$('button').on('click',function(){
    alert($(this).val()); // do anything what you want
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td>pahse 7, mohali</td>
    <td>04/06/2019</td>
    <td><button value="Click Me!">Click Me</button></td>
  </tr>

注意:-代替submit按钮,而使用input type="button"作为正常提交表单的提交按钮。

答案 1 :(得分:1)

您根本不需要jQuery或JavaScript,除非您想使用AJAX提交表单,而您没有提到。您只需要修复HTML。

<button>不是一个空元素;它需要一个结束标签。按钮上的文本位于标签之间。为按钮命名,并为其指定行ID。

$button = "<button type='submit' name='id' value='$row[id]'>Reserve</button>";

然后,您可以在处理表单提交的PHP脚本中从$_POST['id']获取单击按钮的ID。


此外,使用此代码

$result = $mysqli->query("SELECT * FROM news WHERE location = '$location'");

无论您在客户端执行了什么操作,SQL注入都不是问题。客户端验证很容易绕开。 You need to use a prepared statement

答案 2 :(得分:0)

要获取特定的行信息,请在按钮中使用data属性,然后获取该信息

$mysqli = new mysqli("localhost", "root", "password", "trip");
$result = $mysqli->query("SELECT * FROM news WHERE location = '$location'");

echo "<br/><h3>"."Result, I found " .$result->num_rows. " results.". "</h3><br/>";


while($row = $result->fetch_assoc()) {
    echo "<tr><td>".$row["location"]."</td><td>".$row["date"]."</td><td><button type='button' data-bind='".$row["location"]." - ".$row["date"]."' value='reserve'/></td></tr>";

}

使用Jquery获取该信息

$('button').on('click',function(){
  var info=$(this).attr('data-bind');
    alert(info); 

});