我是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>
答案 0 :(得分:7)
你可以通过以下两种方式之一做到这一点。
对于每个<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; ?>
然后发布后,您只需检查action
和id
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。...
另一个文件将获取具有一些数据的变量