在使用php+mysql开发的时候,插入/删除数据是免不了的,我想大家早已习惯了诸如bbs发表,留言簿的一条,一条的数据输入的模式.
但是在很多工程里,逐条输入数据是不被允许的.
比如,输入学生的考试成绩,逐条输入需要点击"提交"40多次,这很大程度消磨了班主任的耐心和时间,如何"一口气"输入完一个班级的数据,是校园管理系统的一个要点(当然,其他场合也经常有这种要求)
下面的文章仅仅是我的工作经验,供学习PHP的同道们参考.(高手大概会一笑了之吧)
主要思路有二:1.动态生成表单和域的属性
2.用变量表示变量
首先看看数据结构:
create table score
(
score_id int unsigned primary key auto_increment,
s_no int unsigned not null,
grade tinyint not null,
class tinyint not null,
class2 tinyint ,
subject char(6) not null,
score tinyint default '0'
)type=MYISAM;
create table students
(
imitate int unsigned primary key,
s_no int unsigned ,
s_name char(10) not null,
......
)type=MYISAM;
其中s_no是学号,是整个程序的关键.由于这个学校语数外是分8个等级班的,所以,成绩表中多一个class2字段.
目的是在一个表单中输入全班40多人的"分类班,成绩"数据,一次性提交.
由于输入牵涉多个字段,而且需要插入的记录不止一条,给编程提高了难度.这里牵涉了2个字段,但是我们举一反三后可以解决任何多个字段的问题.(当然,表单是需要动态生成的.)
废话不多说了,看看源代码吧:
(因为这个站点没有把html标签给过滤掉,请大家把下面代码copy到dreamweaver的代码视图里再看.)
//连接数据库
include("const.php");
include("link.php");
//如果没有表单提交,执行下面操作
if(!empty($HTTP_POST_VARS)) {
//获得POST变量
$grade = $_POST["grade"];
$tclass = $_POST["tclass"];
//由于学号最后两位不会超过60,我们一个一个接收
for($i = 1;$i
//第一条记录的分类班和成绩的"变量名"(注意还不是数值)
$fenlei = "a".$i;
$score = "b".$i;
//因为学号可能有间隔,先判断值是否存在
if(!empty($_POST["$fenlei"]) && !empty($_POST["$score"]))
{
//如果register_globals = on,则下面直接使用$$fenlei和$$score.
//我们假设register_globals = on,如果你的设置不是,那么请再定义两个变量接收它们的值.
//重新生成完整的学号.
$s_no = $grade*10000+$class*100+$i;
//生成query语句,用到了"变量的变量".当然,如果register_globals = off,则又有不同.
$query = "insert into score (s_no,grade,class,class2,score) values ('$s_no','$grade','$tclass','".$$fenlei."','".$$score."')";
//显示,看看语句是否正确.
echo $query."
";
//执行语句,我没有写出来.
}
}
}
?>
target="_self">

MySQL适合初学者学习数据库技能。1.安装MySQL服务器和客户端工具。2.理解基本SQL查询,如SELECT。3.掌握数据操作:创建表、插入、更新、删除数据。4.学习高级技巧:子查询和窗口函数。5.调试和优化:检查语法、使用索引、避免SELECT*,并使用LIMIT。

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

MySQL是一个开源的关系型数据库管理系统,广泛应用于Web开发。它的关键特性包括:1.支持多种存储引擎,如InnoDB和MyISAM,适用于不同场景;2.提供主从复制功能,利于负载均衡和数据备份;3.通过查询优化和索引使用提高查询效率。

SQL用于与MySQL数据库交互,实现数据的增、删、改、查及数据库设计。1)SQL通过SELECT、INSERT、UPDATE、DELETE语句进行数据操作;2)使用CREATE、ALTER、DROP语句进行数据库设计和管理;3)复杂查询和数据分析通过SQL实现,提升业务决策效率。

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

构建MySQL数据库的步骤包括:1.创建数据库和表,2.插入数据,3.进行查询。首先,使用CREATEDATABASE和CREATETABLE语句创建数据库和表,然后用INSERTINTO语句插入数据,最后用SELECT语句查询数据。

MySQL适合初学者,因为它易用且功能强大。1.MySQL是关系型数据库,使用SQL进行CRUD操作。2.安装简单,需配置root用户密码。3.使用INSERT、UPDATE、DELETE、SELECT进行数据操作。4.复杂查询可使用ORDERBY、WHERE和JOIN。5.调试需检查语法,使用EXPLAIN分析查询。6.优化建议包括使用索引、选择合适数据类型和良好编程习惯。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver Mac版
视觉化网页开发工具