高级数据库技术 上一层 [软件下载] [累计得分] [教学论坛] [林定移教学辅助服务器] [关于林定移]

第二章6

第一章1 第二章1 第三章1


PHP/MySQL教程
第1节 while循环
第2节 if-else
第3节 第一个程序脚本
第4节 向服务器发送数据
第5节 修改数据
第6节 完整的程序

[第一章][第二章][第三章]

 

第6节 完整的程序

在本课结束前,我们要把所有东西加入到一个程序中,使它具有增加、编辑修改、删除记录的功能。这是前面所有内容的一个延伸,也可以作为极好的复习方法。看看下面的程序。


<html>

<body>

<?php

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

mysql_select_db("mydb",$db);

if ($submit) {

  
  // 如果没有ID,则我们是在增加记录,否则我们是在修改记录

  if ($id) {

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

  } else {

    $sql = "INSERT INTO employees (first,last,address,position) 
    VALUES ('$first','$last','$address','$position')";

  }

  
  // 向数据库发出SQL命令

  $result = mysql_query($sql);

  
  echo "记录修改成功!<p>";

} elseif ($delete) {

	
	// 删除一条记录

    $sql = "DELETE FROM employees WHERE id=$id";	

    $result = mysql_query($sql);

    
    echo "记录删除成功!<p>";

} else {

  
  // 如果我们还没有按submit按钮,那么执行下面这部分程序

  if (!$id) {

    
    // 如果不是修改状态,则显示员工列表

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

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

      printf("<a href=\"%s?id=%s\">%s %s</a> \n", 
      $PATH_INFO, $myrow["id"], $myrow["first"], $myrow["last"]);

	  printf("<a href=\"%s?id=%s&delete=yes\">(DELETE)</a><
     br>", $PATH_INFO, $myrow["id"]);

    }

  }

  ?>

  <P>

  <a href="<?php echo $PATH_INFO?>">ADD A RECORD</a>

  <P>

  <form method="post" action="<?php echo $PATH_INFO?>">

  <?php

  if ($id) {


    // 我们是在编辑修改状态,因些选择一条记录

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

    $result = mysql_query($sql);

    $myrow = mysql_fetch_array($result);

    $id = $myrow["id"];

    $first = $myrow["first"];

    $last = $myrow["last"];

    $address = $myrow["address"];

    $position = $myrow["position"];


    // 显示id,供用户编辑修改

    ?>

    <input type=hidden name="id" value="<?php echo $id ?>">

    <?php

  }

  ?>


  名:<input type="Text" name="first" value="<?php echo $first ?>"><br>


  姓:<input type="Text" name="last" value="<?php echo $last ?>"><br>


  住址:<input type="Text" name="address" value="<?php echo $address ?>"><br>


  职位:<input type="Text" name="position" value="<?php echo $position ?>"><br>


  <input type="Submit" name="submit" value="输入信息">

  </form>

<?php

}

?>

</body>

<`/html>

这段程序看起来很复杂,但实际上并不难。程序主要有三个部分。第一个if()语句检查我们是否已经按下了那个“输入信息”的数据提交按钮。如果是,程序再检查$id是否存在。如果不存在,那我们就是在增加记录状态,否则,我们是在修改记录状态。

接下来我们检查变量$delete是否存在。如果存在,我们是要删除记录。注意,第一个if()语句检查的是用POST方法发送来的变量,而这一次我们检查的是GET方法中传递过来的变量。

最后,程序默认的动作是显示员工列表和表格。同样,我们要检查变量$id是否存在。如果存在,我们就根据它的值检索出相应的记录显示出来。否则,我们会显示一个空的表格。

现在,我们已经把所学的东西全部都放在一个程序里头了。我们用到了while()循环,用到了if()语句,并且执行了全部的SQL基本操作 - SELECT、INSERT、UPDATE以及DELETE。另外,我们也知道如何在不同的网页之间通过URL和表格输入来互相传递信息。

在第三课里,我们要学习如何为网页增加智能化处理能力。


如有关于本站点的问题或建议,请向lin@bnu.edu.cn发邮件。 版权所有(C) 2000-2020  林定移教学辅助服务器