php表单修改数据

时间:2023-03-10 17:07:08

(接前面写的)

第一个页面xiugai.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <h1>修改数据</h1> <?php
$code = $_GET["code"];
$db = new MySQLi("localhost","root","root","dbname");
$sql = "select * from info where code='{$code}'"; $result = $db->query($sql);
$arr = $result->fetch_row();
?> <form action="update.php" method="post"> <div>
<input type="hidden" name="code" value="<?php echo $arr[0]; ?>" />
</div> <div>姓名:
<input type="text" name="name" value="<?php echo $arr[1]; ?>" />
</div>
<div>性别:
<input type="radio" name="sex" value="1" <?php echo $arr[2]?"checked='checked'":""; ?> />男
<input type="radio" name="sex" value="0" <?php echo $arr[2]?"":"checked='checked'"; ?> />女
</div>
<div>民族:
<select name="nation">
<?php
$snation = "select * from nation";
$rnation = $db->query($snation);
while($attr = $rnation->fetch_row())
{
//判断将要输出的民族是否和该人员的相同 if($arr[3]==$attr[0])
{
echo "<option value='{$attr[0]}' selected='selected'>{$attr[1]}</option>";
}
else
{
echo "<option value='{$attr[0]}'>{$attr[1]}</option>";
}
}
?>
</select>
</div>
<div>生日:
<input type="text" name="birthday" value="<?php echo $arr[4] ?>" />
</div>
<div><input type="submit" value="修改" /></div>
</form>
</body>
</html>

1、code那一条在数据库里是主键,不能改,所以要把它设为type="hidden"。也可以用type="text"  style="display:none"。也可用readonly属性,但不能用disable属性。(disable是使其不可用,虽然不能修改了,它也不向后面传递信息了。)

2、性别那里用三目运算符写比较简单。

3、修改页面默认值的选择。

4、$db = new MySQLi("localhost","root","root","dbname");在本页中只需写一次,后面插入的php代码中不需要再写。

第二个页面update.php

<?php
$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$nation = $_POST["nation"];
$birthday = $_POST["birthday"]; $db = new MySQLi("localhost","root","root","dbname");
$sql = "update info set name='{$name}',sex={$sex},nation='{$nation}',birthday='{$birthday}' where code='{$code}'"; if($db->query($sql))
{
header("location:main.php");
}
else
{
echo "修改失败!";
}

相关文章