赛迪网 > IT技术 php > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

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

发布时间:2006.08.04 19:28     来源:plwww    作者:

p>五、修改数据

  在个教程中,我都把要执行的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()语句,来检查多重条件。

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


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· PHP/MySQL三日通-第一天(一) (08-02) · PHP/MySQL三日通-第一天(二) (06-03)
· PHP新手上路(七) (01-21) · PHP新手上路(六) (05-14)
· PHP新手上路(五) (09-03) · PHP新手上路(四) (06-11)
· PHP新手上路(三) (04-23) · PHP新手上路(二) (10-26)
· PHP新手上路(一) (07-16) · 用PHP和MySQL保存和输出图片 (03-15)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管