PHP-学生信息采集

[复制链接]
1133|2
 楼主| gaoyang9992006 发表于 2018-8-30 16:37 | 显示全部楼层 |阅读模式
100.png
我老婆昨天让我帮她统计学生信息,我觉得这种事可以用计算机实现的,让他们自己输入提交就行了。
于是我就想用PHP写一个这么个功能实现的小程序。
需求就是上面图片要展示的内容,另外方便Excel编辑,我就想到用CSV逗号分隔符文件存储。为了兼容格式要先查清楚默认是什么格式,另外Excel生成的CSV什么格式
经过摸索和测试发现Excel2016生成的CSV文件是UTF-8-BOM
实现代码如下:
index.php文件
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>学生信息统计系统</title>
  5. </head>
  6. <body>

  7. <form action="welcome.php" method="get">





  8. <table border="2px">
  9.     <tr  align="center">
  10.         <td>编号</td>
  11.         <td>学生姓名</td>
  12.         <td>学生身份*号</td>
  13.         <td>电话1</td>
  14.         <td>电话2</td>
  15.         <td>家长姓名</td>
  16.         <td>家长身份*号</td>               
  17.     </tr>
  18.     <tr>
  19.         <td> <input type="text" name="number">            </td>
  20.         <td> <input type="text" name="student_name">      </td>
  21.                 <td> <input type="text" name="student_ID">        </td>
  22.                 <td> <input type="text" name="tel_01">            </td>
  23.                 <td> <input type="text" name="tel_02">            </td>
  24.         <td> <input type="text" name="parents_name">      </td>        
  25.                 <td> <input type="text" name="parents_ID">        </td>               
  26.     </tr>

  27. </table>
  28.         <input type="submit" value="提交">

  29. </form>


  30. </body>
  31. </html>
响应提交数据事件文件
welcome.php文件
  1. <html>
  2. <head>
  3. <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
  4. <title>学生信息统计系统</title>
  5. </head>
  6. <body>

  7. <table border="2px">
  8.     <tr  align="center">
  9.         <td>编号</td>
  10.         <td>学生姓名</td>
  11.         <td>学生身份*号</td>
  12.         <td>电话1</td>
  13.         <td>电话2</td>
  14.         <td>家长姓名</td>
  15.         <td>家长身份*号</td>               
  16.     </tr>
  17.     <tr>
  18.         <td> <?php echo $_GET["number"]; ?>             </td>
  19.         <td> <?php echo $_GET["student_name"]; ?>       </td>
  20.                 <td> <?php echo $_GET["student_ID"]; ?>         </td>
  21.                 <td> <?php echo $_GET["tel_01"]; ?>             </td>
  22.                 <td> <?php echo $_GET["tel_02"]; ?>             </td>
  23.         <td> <?php echo $_GET["parents_name"]; ?>       </td>        
  24.                 <td> <?php echo $_GET["parents_ID"]; ?>         </td>               
  25.     </tr>

  26.         
  27. <?php


  28. $file=fopen("welcome.csv","a+");

  29. fwrite($file, $_GET["number"]);
  30. fwrite($file, ",");

  31. fwrite($file, $_GET["student_name"]);
  32. fwrite($file, ",");
  33. fwrite($file, $_GET["student_ID"]);
  34. fwrite($file, ",");

  35. fwrite($file, $_GET["tel_01"]);
  36. fwrite($file, ",");
  37. fwrite($file, $_GET["tel_02"]);
  38. fwrite($file, ",");

  39. fwrite($file, $_GET["parents_name"]);
  40. fwrite($file, ",");
  41. fwrite($file, $_GET["parents_ID"]."\n");





  42. //fclose($file);


  43. ?>

  44. </table>



  45. </body>
  46. </html>
welcome.csv
文件第一行
  1. 编号,学生姓名,学生身份*号,电话1,电话2,家长姓名,家长身份*号


 楼主| gaoyang9992006 发表于 2018-8-30 16:42 | 显示全部楼层
然后再测试一下,结果如下,非常给力,不过由于默认的CSV文件不具备格式表现能力,因此直接打开后,身份*号显示错误(Excel常规只能显示10位以内的数字)。所以需要以数据形式导入自文本,然后导入时候选择每一列的格式即可。后面再升级一下,就是直接操作.xlsx文件。
101.png
 楼主| gaoyang9992006 发表于 2018-8-30 16:44 | 显示全部楼层
这个应用还可以改成物联网应用,用于终端给服务器提交数据。大家可以试试,我以前在ESP8266上用过这个形式提交数据。后面有时间我写个教程。
个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2052

主题

16402

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部