Php 从查询填充表单数据的链接
我有一个表单,当用户从列表中选择一个标题时,我需要在其中加载数据。当我保存一条记录时,我会查询数据库,并将记录的标题放在一个列表中,带有编辑和删除链接。我在编辑按钮中添加“a href”以及在表单中加载记录数据时遇到困难 以下是查询的代码:Php 从查询填充表单数据的链接,php,mysql,sql,Php,Mysql,Sql,我有一个表单,当用户从列表中选择一个标题时,我需要在其中加载数据。当我保存一条记录时,我会查询数据库,并将记录的标题放在一个列表中,带有编辑和删除链接。我在编辑按钮中添加“a href”以及在表单中加载记录数据时遇到困难 以下是查询的代码: <div class="content"> <ul class="nav"> <div><a href="index.html">Home</a></div> <div cla
<div class="content">
<ul class="nav">
<div><a href="index.html">Home</a></div>
<div class="container">
<?php
include('connect-db.php');
$result = mysql_query("SELECT * FROM 'my_table' ORDER BY id ASC");
while($row = mysql_fetch_array($result))
{
$id=$row['id'];
$title=$row['title'];
?>
<div class="show">
<Table width="300" Border="0">
<TR><TD width="260"><?php echo $title; ?></TD>
<TD width="20"><a href="#" id="<?php echo $id; ?>">EDIT</a></TD>
<TD width="20"><a href="#" id="<?php echo $id; ?>">DELETE</a>
</TD></TR>
</Table>
</div>
<?php
}
?>
</div>
如果“process.php”应该显示数据库中1条记录的结果,则需要更改链接的href,并将ID作为URL中的GET参数传递给process.php。在该页面中,您需要使用该ID参数进行查询
将链接更改为:
<a href="?action=edit&id=<?php echo $id; ?>">EDIT</a>
...
<a href="?action=delete&id=<?php echo $id; ?>">DELETE</a>
您也可以使用不同的页面进行编辑和删除,如果您需要的话,可以相应地更改链接。在删除之前,您可能需要有一个确认部分
请注意,在URL中传递这样的数据会使其非常容易受到黑客攻击。可以很容易地更改ID或操作
此外,您需要迁移代码以使用PHP的mysqli函数而不是mysql。mysql已经被弃用了…不确定您在这里想要实现什么。基于ID,“process.php”应该只包含来自数据库的1个结果吗?我将回应Reinder的评论。正在发生什么以及您希望发生什么。当我向数据库提交记录时,我会将记录标题添加到网页上的列表中。我希望用户能够单击标题或编辑按钮,并为该记录填充表单。插入作品,标题列表就可以了。我无法选择标题并将数据加载回表单进行编辑。我可能需要重新考虑结构。进程文件用于插入数据库。我有一个单独的删除文件,但我还没有处理更新,因为我需要首先将数据返回表单中。似乎我应该使用process.php进行插入和更新。实际上,我没有使用process.php来编辑和删除链接以查询数据。该代码在我的编辑页面中。我调用process.php的唯一时间是在保存文件或更新时。正如我所说,我需要考虑最好的方法来做到这一点。
<a href="?action=edit&id=<?php echo $id; ?>">EDIT</a>
...
<a href="?action=delete&id=<?php echo $id; ?>">DELETE</a>
if(isset($_GET["action"]) && isset($_GET["id"]) && is_numeric($_GET["id"])) {
include"connect-db.php";
$sql="SELECT * FROM my_table WHERE id = " . $_GET["id"];
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
if($_GET["action"] == "edit") {
// output editing form
}
else if($_GET["action"] == "delete") {
// delete
}
}