我有一个表单,当用户从列表中选择一个标题时,我需要在其中加载数据。当我保存一条记录时,我查询数据库并将记录的标题放在一个列表中,并带有一个Edit和Delete链接。我很难将"a href“添加到”Edit“按钮,也很难将记录数据加载到表单中。
以下是查询的代码:
<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>下面是表单的代码:
<form name="myForm" action="process.php" method="post">
<div>
<?php
include"connect-db.php";
$sql="SELECT * FROM my_table";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>
<input type="text" name="title" id="title" value="<? echo $rows['title']; ?>">
<textarea name="chords" id="chords" rows="1" cols="16"><? echo $rows['chords']; ?></textarea>
<textarea name="lyrics" id="lyrics" rows="4" cols="16"><? echo $rows['lyrics']; ?></textarea>发布于 2014-02-21 21:24:13
如果‘URL’应该显示数据库中一条记录的结果,您需要更改链接的href,并将ID作为process.php中的GET参数传递给process.php。在该页面中,您需要使用ID参数进行查询。
将链接更改为:
<a href="?action=edit&id=<?php echo $id; ?>">EDIT</a>
...
<a href="?action=delete&id=<?php echo $id; ?>">DELETE</a>在process.php中,您需要添加一些if/else语句:
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
}
}你也可以使用不同的页面进行编辑和删除,如果你想要的话相应地改变你的链接。在删除之前,您可能需要有一个确认部分...
请注意,像这样在URL中传递数据会使其非常容易受到黑客攻击。用户可以很容易地更改ID或操作。
此外,您还需要迁移代码以使用PHP的mysqli函数,而不是mysql。mysql已被弃用...
https://stackoverflow.com/questions/21934869
复制相似问题