PHP 简单案例[3]

  • 问题1
  • 问题1代码
  • 问题2
  • 问题2代码


  • 本系列PHP 简单案例通过“问题-代码”的方式介绍各类方法,每篇设置2个PHP综合问题,并给出解决方案。

问题1

给定的企业员工管理数据库db_ygg1中包括部门表tb_dept和职工表tb_emp, tb_dept包含的字段有deptno(部门 号) 、 deptname (部门多称) 、manager(部门负责人)、office(办公地点) 、 telephone(电话), tb_emp包含的 字段有eno (员工号) 、 name (姓多) 、 PHP 简单案例[3]_PHP

存有一个 sj3.php文件的简单PHP程序, 是对给定的企业员工管理数据库 PHP 简单案例[3]_sql_02 设计一个网页程 序, 要求显示目前员工的总人数、不同性别的人数、每个部白的员工人数、平均年龄及平均工资等统计信息, 尚末分配部门的员工统计信息对应的部门名称显示“末分配”, 如丁图所示。

PHP 简单案例[3]_mysql_03

问题1代码

<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<head><title>员工管理统计信息</title>
</head>
</html>

<?php
$host="localhost"; $user="root"; $pwd="";
$db_name="db_yggl";
$conn=mysql_connect($host,$user,$pwd) 
	or die("连接数据库服务器失败。".mysql_error());
mysql_select_db($db_name,$conn)
	or die("连接数据库失败。".mysql_error());
mysql_query("set names 'gb2312'");

$cmd="select * from tb_emp";
$data=mysql_query($cmd);
//**********found**********
$rec_count=mysql_num_rows($data);
echo "<table width=220 border=1 align=center>";
echo "<caption>员工情况表</caption>";
//**********found**********
echo "<tr><td>总人数</td><td>$rec_count</td></tr>";
$sql="select * from tb_emp where sex='男'";
$result=mysql_query($sql);
$count_m=mysql_num_rows($result);
//**********found**********
$count_f=$rec_count-$count_m;
echo "<tr><td>男</td><td>$count_m</td></tr>";
echo "<tr><td>女</td><td>$count_f</td></tr>";
echo "</table><br><br>";

echo "<table width=460 border=1 align=center>";
echo "<caption>部门统计信息<br>";
echo "<tr><td>部门名称</td><td>员工人数</td><td>平均年龄</td><td>平均工资</td></tr>";

$sql="SELECT deptname, COUNT(*),AVG(YEAR(CURDATE())-birth),AVG(salary) FROM tb_emp,tb_dept ";  
//**********found**********
$sql=$sql."WHERE tb_emp.deptno=tb_dept.deptno GROUP BY deptname";

$result=mysql_query($sql);
while($row=mysql_fetch_row($result))
  {list($BM,$RS,$PJNL,$PJGZ)=$row;
   echo "<tr><td>$BM</td><td>$RS</td><td>$PJNL</td><td>$PJGZ</td></tr>";
  }
//**********found**********
$sql="SELECT COUNT(*),AVG(YEAR(CURDATE())-birth),AVG(salary) FROM tb_emp WHERE tb_emp.deptno is NULL";
$result=mysql_query($sql); 
$row=mysql_fetch_row($result);
list($RS,$PJNL,$PJGZ)=$row;
echo "<tr><td>未分配</td><td>$RS</td><td>$PJNL</td><td>$PJGZ</td></tr>";
echo "</table>";
?>

问题2

存有一个名为 si3.php的简单PHP程序文件, 其成功运行后可将数据库db_book的借阅表 tb_book中图 书名为《PHP程序设计》的借出时间调整为’2013-10-30’。

问题2代码

<?php
  $con=mysql_connect("localhost:3306","root","")
    or die("数据库服务器连接失败!<br>");
//**********found**********
  mysql_select_db("db_book",$con) or die( "数据库选择失败!<br>");
//**********found**********
  mysql_query("set names 'gbk'");
//**********found**********
  $sql="update tb_book SET ldate='2013-10-30'";
//**********found**********
  $sql=$sql." WHERE bname ='PHP程序设计'";
//**********found**********
  if (mysql_query($sql,$con)) 
      echo "图书借出时间修改成功!<br>";
  else
      echo "图书借出时间修改失败!<br>";
?>