我想使用超链接将详细信息加载到可更新的表单页面中。
我有2个php页面。一个返回MYSQL查询的最后10个记录的id,另一个返回特定记录的所有字段值到表单中,使最终用户有机会更新字段值。任何人都可以帮我链接这两个,以便当我点击第一页中的表格第3行(id = 3)时,它使用第二页使用的MYSQL查询中的ID 3到第二页,预填充表格字段。
即。带有'id','firstname','surname','dob'和'address'的MYSQL表'members'
第1页返回“从成员中选择ID”的最后10个结果& id值是超链接当用户在第1页上选择id 3超链接时,返回'select id,firstname,surname,dob,成员的结果,其中id = 3,并提升各自的值以形成字段'id_ff', 'firstname_ff','surname_ff','dob_ff'和'address_ff'
不知道如何将id'3'值提升到第2页表单字段?
答案 0 :(得分:2)
不确定
# Do sql query and drop it into $members
for ($members AS $member)
{
echo '<a href="/page2.php?id='.$member['id'].'">Member '.$member['id'].'</a>';
}
并在第2页上:
$_GET['id'] = whatever_you_use_to_sanitise($_GET['id']);
#do sql query with new id
请记住,不要只是复制和粘贴。自己思考,了解我们做了什么。查看http://www.w3schools.com/php/default.asp并了解基础知识。
祝你好运!答案 1 :(得分:1)
you can do:
// list.php
$query = sprintf("SELECT * FROM my_table");
$result = mysql_query($query);
while($c = mysql_fetch_array($result)) {
echo '<a href="/edit.php?id=' . $c['id'] . '">Edit ' . $c['id'] . '</a><br />';
}
<?
// edit.php
if(isset($_POST['apply'])) {
$query = sprintf("UPDATE my_table SET somefield = '%s', somefield2 = '%s', somefield3 = '%s' WHERE id = %s",
mysql_real_escape($_POST['somefield']),
mysql_real_escape($_POST['somefield2']),
mysql_real_escape($_POST['somefield3']),
mysql_real_escape($_POST['id'])
);
$r = mysql_query($query);
if (!$r) die(mysql_error());
header("Location: /list.php");
}
$id = $_GET['id']; // just an example.. you should prevent injections here
$query = sprintf("SELECT * FROM my_table WHERE id = %s", $id);
$result = mysql_query($query);
$details = mysql_fetch_array($result);
?>
<form method="post" action="">
<input type="text" name="somefiled" value="<?= $details['somefiled']"/>
<input type="text" name="somefiled2" value="<?= $details['somefiled2']"/>
<input type="text" name="somefiled3" value="<?= $details['somefiled3']"/>
<input type="hidden" name="id" value="<?= $details['id']"/>
<input type="hidden" name= "apply" value="yes"/>
<input type="submit" value="Submit"/>
</form>