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

四、 向服务器发送数据

五、修改数据

澳门新葡亰网站注册,现在我们从数据库读取数据已经没有太多困难了。但是怎么反过来向数据库发送数据呢?其实这不是PHP的问题。

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

首选,我们创建一个带有简单表格的网页。

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

$#@60;html$#@62;$#@60;body$#@62;$#@60;form method=”post”
action=”$#@60;?php echo $PATH_INFO?$#@62;”$#@62;名:$#@60;input
type=”Text” name=”first”$#@62;$#@60;br$#@62;姓:$#@60;input
type=”Text” name=”last”$#@62;$#@60;br$#@62;住址:$#@60;input
type=”Text” name=”address”$#@62;$#@60;br$#@62;职位:$#@60;input
type=”Text” name=”position”$#@62;$#@60;br$#@62;$#@60;input
type=”Submit” name=”submit”
value=”输入信息”$#@62;$#@60;/form$#@62;$#@60;/body$#@62;$#@60;/html$#@62;

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

同样要注意$PATH_INFO的用法。就象我在第一课里讲到的,您可以在HTML代码中的任意位置使用PHP。您也会注意到,表格中的每一个元素都对应着数据库中的一个字段。这种对应关系并不是必须的,这么做只是更直观一些,便于您以后理解这些代码。

$#@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;

还要注意的是,我在Submit按钮中加入了name属性。这样我在程序中可以试探$submit变量是否存在。于是,当网页被再次调用时,我就会知道调用页面时是否已经填写了表格。

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