通过Button传递值到Php函数

时间:2013-11-06 14:00:34

标签: php

enter image description here

我是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>

6 个答案:

答案 0 :(得分:7)

你可以通过以下两种方式之一做到这一点。

jQuery和AJAX

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

<a href="#" data-id="<?php echo $value; ?>" class="delete-row">Delete</a>

底部的脚本:

//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>

这会使用<a href>将行的ID放入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>

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

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

答案 1 :(得分: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; ?>

然后发布后,您只需检查actionid

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

答案 2 :(得分:3)

单击“编辑”时,打开包含相应记录的页面。您可以通过编辑链接或图像或按钮来执行此操作。

<?php echo "<a href='".BASE_URL."admin/edit.php?id=$id' target='_blank'> <img src=".BASE_URL."/images/edit.png width=16 height=16 alt=Edit /> </a>";?>

删除你可以使用jquery。这是一个例子

echo "<a href='#' onclick='deletePrescription($id)' ><img src=images/document_delete.png width=16 height=16 title='Delete Prescription' alt=Delete /> </a>";    
<script type="text/javascript">
function deletePrescription(checkup_id) {
//alert(checkup_id);                
var agree=confirm("Do you really want to delete the prescription?");
    if (agree)
        {
            $.ajax
            ({
                type: "POST",
                url: "delete_prescription_admin.php",
                data: "checkup_id="+checkup_id,
                success: function(msg)
                {
                //
                //alert( "array Updated: " + msg );
                location.reload(true);
                }
            });

        }
    else
        {
        return false ;
        }

      }
     </script> 

答案 3 :(得分:2)

PHP在服务器端,所以你需要发送参数,解析它并让你的php行动。 即。

编辑按钮将使用参数:id = 123&amp; action = edit

发出POST或GET请求

并且您的PHP将解析查询字符串:

$strID = $_GET['id'];
$strAction = $_GET['action'];

然后采取行动..

if ($strAction=='edit'){
 // do something...
}

你的按钮应该用以下形式包装:

<form action="yourFile.php?id=<?=$SN ?>&action=edit" method="GET" id="formEdit<?=$SN ?>">
    <button type="submit" value="Edit">
</form>

答案 4 :(得分:2)

使用隐藏输入(例如<input type="hidden" value="your_value_here">

答案 5 :(得分:0)

<a href=register_course.php?id=$roll&code=".$row['course_code']."&name=".$row['course_name']."><input type=submit value=Register>

*这里,register_course.php是您要在其中发送一些变量的文件,该变量具有一些数据,当单击按钮时,该变量将被传送,其值为寄存器//课程代码是您要发送的变量... im为其分配值作为$代码...,并将ID $ roll作为ID分配,并将course_name作为$ name。...

另一个文件将获取具有一些数据的变量