我有一张包含约会的表!我称之为指定,它具有上述属性:appontid、日期、描述、名称。私钥是指定的。我有代码来显示所有带有选择的约会,但我希望每一行都有用于编辑和删除的链接。如果有人在特定任命中选择编辑,我想保留 rantevouid,以便向他发送一份表格以供填写并更新具有特定 ID 的任命。
<?php
session_start();
include('dbConfig.php');
$result = mysql_query ("SELECT * FROM appoint") ;
print '<table border="1">';
print '<tr>';
print '<td>ID appoint</td>';
print '<td>date</td>';
print '<td>description</td>';
print '<td>name</td>';
print '<td>EDIT</td>';
print '<td>DELETE</td>';
print '</tr>';
while ($row = mysql_fetch_array ($result))
{
print '<tr>';
print '<td>'.$row['appointid'].'</td>';
print '<td>'.$row['date'].'</td>';
print '<td>'.$row['description'].'</td>';
print '<td>'.$row['name'].'</td>';
print '<td> <a href="edit.php">EDIT </a> </td>';
print '<td> <a href="delete.php">DELETE</a> </td>';
print '</tr>';
}
print '</table>';
echo "</table>";
现在,如果有人按“编辑”进行第一次约会,我想填写一份包含日期描述和姓名的表格,并且我想更新 mysql 上的指定表。为了做到这一点,我想保留指定的指定 ID,以便进行更新,其中 id=$id1;有什么想法吗?
谁能告诉我这个 msql_query 是否正确?上面有一个表格和我从另一个页面获取的 id,正如你告诉我的那样
<?php
include('dbconfic.php');
if(isset($_POST['submit'])){
$id=$_GET['id'];
$com=$_POST['comment'];
$realdate=$_POST['date1'];
$result=mysql_query("UPDATE appoint set comments='$com',date='$realdate' WHERE 'id=$id'") or die("QUERY error: ".mysql_error());
echo"Row updated.";
mysql_close();
}
?>
<form action="" method="post">
<table>
<tr>
<td>NEW COMMENT</td>
<td><input name="comment" type="text"> </td>
</tr>
<tr>
<td>REAL DATE</td>
<td><input name="date1" type="text" > </td>
</tr>
<tr>
<td><input type="submit" name="submit" value="submit"></td>
</tr>
</table>
</form>
最佳答案
在这种情况下,您的链接需要具有要编辑/删除的记录的值:
print '<td> <a href="edit.php?id=' . $row['appointid'] . '">EDIT </a> </td>';
print '<td> <a href="delete.php?id=' . $row['appointid'] . '">DELETE</a> </td>';
然后在每个后续页面(edit.php和delete.php)上,您可以从查询字符串中获取正在编辑/删除的约会的ID:
$_GET['id']
使用该 ID,您可以选择正在编辑/删除的特定记录并进行相应的处理。但请注意,用户可以修改此值,因此至少您需要:
- 确保用户有权在编辑和删除页面上编辑/删除所请求的记录,而不仅仅是在该页面上显示记录时。
- 请勿直接在数据库查询中使用该值,否则会暴露 SQL 注入(inject)漏洞。确保验证类型/值并将其用作查询参数,而不是仅仅将其按原样注入(inject)到 SQL 查询中。
关于php - 编辑特定行中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24591624/