动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   PHP → 阅读文章

 PHP/MySQL三日通-第二天(三)

作者来源:学习在线 
阅读 1867 人次 , 2006-2-15 14:20:00 

       五、修改数据

  在个教程中,我都把要执行的SQL语句放到一个变量($sql)中,然后才用mysql_query()来执行数据库查询。在调试时这是很有用的。如果程序出了什么问题,您随时可以把SQL语句的内容显示出来,检查其中的语法错误。

  我们已经学习了如何把数据插入到数据库中。现在我们来学习如何修改数据库中已有的记录。数据的编辑包括两部分:数据显示和通过表格输入把数据返回给数据库,这两部分我们前面都已经讲到了。然而,数据编辑还是有一点点不同,我们必须先在表格中显示出相关的数据。

  首先,我们回过头再看看第一课的程序代码,在网页中显示员工姓名。但是这次,我们要把数据显示在表格中。程序看起来象下面这样:

 

  $#@60;html$#@62;

$#@60;body$#@62;

$#@60;?php

$db = mysql_connect("localhost", "root");

mysql_select_db("mydb",$db);

if ($id) {


// 查询数据库

$sql = "SELECT * FROM employees WHERE id=$id";

$result = mysql_query($sql);

$myrow = mysql_fetch_array($result);

?$#@62;

$#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62;

$#@60;input type=hidden name="id" value="$#@60;?php echo $myrow["id"] ?$#@62;"$#@62;

名:$#@60;input type="Text" name="first" value="$#@60;?php echo
$myrow["first"] ?$#@62;"$#@62;$#@60;br$#@62;

姓:$#@60;input type="Text" name="last" value="$#@60;?php echo
$myrow["last"] ?$#@62;"$#@62;$#@60;br$#@62;

住址:$#@60;input type="Text" name="address" value="$#@60;?php echo
$myrow["address"] ?$#@62;"$#@62;$#@60;br$#@62;

职位:$#@60;input type="Text" name="position" value="$#@60;?php echo
$myrow["position"] ?$#@62;"$#@62;$#@60;br$#@62;

$#@60;input type="Submit" name= bmit" value="输入信息"$#@62;

$#@60;/form$#@62;

$#@60;?php

} else {


// 显示员工列表

$result = mysql_query("SELECT * FROM employees",$db);

while ($myrow = mysql_fetch_array($result)) {

printf("$#@60;a href=\"%s?id=%s\"$#@62;%s %s$#@60;/a$#@62;$#@60;br$#@62;\n", $PATH_INFO,
$myrow["id"], $myrow["first"], $myrow["last"]);

}

}

?$#@62;

$#@60;/body$#@62;

$#@60;/html$#@62;

  我们刚才是把字段内容写入到相应表格元素中的value属性里,这是相应简单的。我们再往前进一步,使程序可以把用户修改过的内容写回数据库去。同样,我们通过Submit按钮来判断是否处理表格输入内容。还要注意,我们用的SQL语句稍稍有些不同。



  $#@60;html$#@62;

$#@60;body$#@62;

$#@60;?php

$db = mysql_connect("localhost", "root");

mysql_select_db("mydb",$db);

if ($id) {

if ($submit) {

$sql = "UPDATE employees SET first=$first,last=$last,
address=$address,position=$position WHERE id=$id";

$result = mysql_query($sql);


echo "谢谢!数据更改完成\n";

} else {


// 查询数据库

$sql = "SELECT * FROM employees WHERE id=$id";

$result = mysql_query($sql);

$myrow = mysql_fetch_array($result);

?$#@62;

$#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62;

$#@60;input type=hidden name="id" value="$#@60;?php echo $myrow["id"] ?$#@62;"$#@62;


名:$#@60;input type="Text" name="first" value="$#@60;?php
echo $myrow["first"] ?$#@62;"$#@62;$#@60;br$#@62;


姓:$#@60;input type="Text" name="last" value="$#@60;?php echo
$myrow["last"] ?$#@62;"$#@62;$#@60;br$#@62;


住址:$#@60;input type="Text" name="address" value="$#@60;?php echo
$myrow["address"] ?$#@62;"$#@62;$#@60;br$#@62;


职位:$#@60;input type="Text" name="position" value="$#@60;?php echo
$myrow["position"] ?$#@62;"$#@62;$#@60;br$#@62;


$#@60;input type="Submit" name="submit" value="输入信息"$#@62;

$#@60;/form$#@62;

$#@60;?php

}

} else {


// 显示员工列表

$result = mysql_query("SELECT * FROM employees",$db);

while ($myrow = mysql_fetch_array($result)) {

printf("$#@60;a href=\"%s?id=%s\"$#@62;%s %s$#@60;/a$#@62;$#@60;br$#@62;\n", $PATH_INFO,
$myrow["id"], $myrow["first"], $myrow["last"]);

}

}

?$#@62;

$#@60;/body$#@62;

$#@60;/html$#@62;

  就是这样。在这个程序中已经包含了我们学过所大多数特性。您也已经看到,我们在一个if()条件判别语句中又加了一个if()语句,来检查多重条件。

  下面,我们要把所有东西全都加在一起,写出一个很好的程序来。



  
 本文Tagsmysql  数据库  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:PHP/MySQL三日通-第二天(二)
· 下一篇:PHP/MySQL三日通-第二天(四)
· PHP中如何在输出内容后再输出头信息?
· 横向重复区域显示二法
· 一个简单的php在线端口扫描器
· 在PHP中以root身份运行外部命令
· 用PHP发送MIME邮件(一)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077