通过Button传递值到Php函数

M.c*_*hry 5 php

在此输入图像描述

我是php的初学者,我目前正在使用管理面板(你可以看到我的管理面板页面).问题是我想通过这两个按钮传递序列号以进一步执行.但我找不到如何发送$value编辑和删除特定行.

<div id="headin2"><strong> <h3>Admin page </h3></strong></div>
<?php 
    echo "<table width=\"100%\" border=\"0\" id=\"tab\">";
    echo "<tr>";
    echo "<th id=\"td1\">Serial No</th><th id=\"td2\">Account Title</th>
              <th id=\"td3\">Email</th><th id=\"td4\">Gender</th><th id=\"td5\">city</th>
              <th id=\"td6\">Course</th><th id=\"td7\">status</th><th id=\"td8\" colspan=\"3\">Action</th>";
    echo "</tr>";

    while ( $row = mysql_fetch_array($query))
    {
        $SN = $row['SN'];
        $actitle = $row['ac_title']; 
        $email = $row['email'];
        $gender  = $row['sex']; 
        $cite = $row['city'];
        $course = $row['CRS'];
        $status  = $row['status'];  

        echo "<tr>";
        echo "<td>".$SN."</td><td>".$actitle."</td><td>".$email."</td>
                  <td>".$gender."</td><td>".$cite."</td><td>".$course."</td><td>".$status."</td>
                  <td>"."<input type=\"button\" name=\"edit\" value=\"Edit\"/>
                  <input type=\"button\" value=\"Delete\" name=\"delete\" >"."</td>";
        echo "</tr>";
    }
?>

</table>
Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 7

你可以用两种方法之一做.

jQuery和AJAX

对于每一个<tr>,每个地方都有一个删除按钮,

<a href="#" data-id="<?php echo $value; ?>" class="delete-row">Delete</a>
Run Code Online (Sandbox Code Playgroud)

底部的脚本:

//Include jQuery here
<script language="javascript">
$('.delete-row').click(function (event) {
   event.preventDefault();
   var id = $(this).data('id');
   $.ajax({
      url: "url/to/delete",
      method: "POST",
      cache: false,
      data: { id: id },
      success: function (html) {
         $(this).parent().parent().remove();
      });
   });
});
</script>
Run Code Online (Sandbox Code Playgroud)

这会将行的ID放入<a href>自身,data并使用jQuery发送一个AJAX调用来删除记录.如果删除成功,则会从表中删除该行.

老派按钮

每个<tr>地方都有一个删除按钮,

<form method="POST" action="url/to/delete">
<input type="hidden" name="id" value="<?php echo $value; ?>" />
<input type="submit" value="Delete" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是老式的方法,隐藏字段是后端知道要删除哪一行的方式.

在后端,您仍然可以使用$_POST['id'];获取要删除的记录的ID.在上面的示例中,$value是每行的ID,并且很可能类似于$row['id']它来自a foreach().


Ale*_*exP 6

您需要action(编辑/删除)id.不幸的是,没有一些JS按钮只会发布一个值.

您可以为每一行创建一个新表单,添加一个隐藏元素.例如:

<?php while ($row = mysql_fetch_array($query)) : ?>

  <tr>
    <!-- other cells -->
    <td>
      <form method="post" action="">
        <input type="submit" name="action" value="Edit"/>
        <input type="submit" name="action" value="Update"/>
        <input type="hidden" name="id" value="<?php echo $row['id']; ?>"/>
      </form>
    </td>
  </tr>

<?php endwhile; ?>
Run Code Online (Sandbox Code Playgroud)

然后发布后你可以检查actionid

if ($_POST['action'] && $_POST['id']) {
  if ($_POST['action'] == 'Edit') {
    // edit the post with $_POST['id']
  }
}
Run Code Online (Sandbox Code Playgroud)