php批量添加数据与批量更新数据的实现方法


Posted in PHP onDecember 16, 2014

本文实例讲述了php批量添加数据与批量更新数据的实现方法。分享给大家供大家参考。具体分析如下:

php如果要批量保存数据我们只要使用sql的insert into语句就可能实现数据批量保存了,如果是更新数据使用update set就可以完成更新了,操作方法都非常的简单,下面整理两个例子.

批量数据录入

设计方法:同时提交多条表单记录,为每一条记录设置相同的文本域名称,然后在表单处理页中,通过for循环来读取提取表单提交的数据,最后以数据的形式将数据逐条添加到数据库中.

其中,应用一个count()函数来获取数组中元素的个数.int count(mixed var);

表单提交页面,代码如下:

<form name="form1" method="post" action="index_ok.php"> 

<tr> 

<td>商品名称</td> 

<td>编号</td> 

<td>单价</td> 

<td>数量</td> 

<td>产地</td> 

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

</tr> 

 

<tr> 

<td><input name="sp_name[]" type="text" id="sp_name" size="15"></td> 

<td><input name="sp_number[]" type="text" id="sp_number" size="10"></td> 

<td><input name="price[]" type="text" id="price" size="8"></td> 

<td><input name="counts[]" type="text" id="counts" size="8"></td> 

<td><input name="address[]" type="text" id="address" size="15"></td> 

</tr> 

 

<input type="submit" name="submit" value="提交"> 

<input type="reset" name="reset" value="重置"> 

</form>

数据库连接页,代码如下:
<?php 

$id=mysql_connect("localhost","root","password") or die('connection failed'.mysql_error()); 

if(mysql_select_db('mydatabase',$id)) 

echo ""; 

else 

echo('select db failed:'.mysql_error()); 

?>

表单处理页,代码如下:
<?php session_start(); include("conn/conn.php"); 

if($submit==true){ 

    for($i=0;$i<count($sp_name);$i++){ 

        $path=$_POST["sp_name"][$i]; 

        $path1=$_POST["sp_number"][$i]; 

        $path2=$_POST["price"][$i]; 

        $path3=$_POST["counts"][$i]; 

        $path4=$_POST["address"][$i]; 

        $query=mysql_query("insert into tb_products(sp_name,sp_number,price,counts,address,data) values('$path','$path1','$path2','$path3','$path4','$data');}

    if($query==true){ 

        echo"提交成功"; 

    else 

        echo"提交失败";} 

} 

?>

批量更新数据

主要通过while, list(),each()函数来实理数据的批量更新,list()函数用于一次性为多个变量赋值,代码如下:

<?php session_start(); include("conn/conn.php");?> 

<form name="form1" method="post" action="index_ok.php"> 

<?php $query="select * from tb_users"; 

          $result=mysql_query($query); 

             if($result==true){ 

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

?> 

<tr> 

<td><input name="<?php echo $myrow[id];?> type="checkbox" value="<?php echo $myrow[id]; ?></td> 

<td><?php echo $myrow[user];?></td> 

<td><?php echo $myrow[popedom];?></td> 

<td><?php echo $myrow[operation];?></td> 

</tr> 

<?php }} ?> 

 

<tr> 

<input type="submit" name="submit" value="激活"> 

<input type="submit" name="submit2" value="冻结"> 

</tr> 

</form>

表单处理页,代码如下:
<?php session_start(); include("conn/conn.php") 

if($submit=="激活"){ 

    while(list($name,$value)=each($_POST)){ 

        $result=mysql_query("update tb_user set operation='激活' where id='".$name."'"); 

    if($result==true){ 

        echo "<script> alert('激活成功');window.location.href='index.php';</script>";}} 

 

if($submit2=="冻结"){ 

    while(list($name,$value)=each($_POST)){ 

        $result=mysql_query("update tb_user set operation='冻结' where id='".$name."'"); 

    if($result==true){ 

        echo "<script> alert('冻结成功');window.location.href='index.php';</script>";}} 

} 

?>

总结:心细的朋友会发现两个例子都有几个共同点,一个是表单from的表单名是以counts[]数组形式了,而在php处理接受页面都会使用for 或while来实现遍历了,下面我就简单的给大家分析这两个例子.

counts[]:这个在表单中是代表数组,如果你有10个表单那么我们name=counts[] 意思他们内个都是一样数组,知道这个是数组了就知道下面知道为什么会使用遍历了.

for或while:因为表单过来的是数组我们就可以遍历数组然后对数据进行保存了,如下代码:

while(list($name,$value)=each($_POST)){ 或

for($i=0;$i<count($sp_name);$i++){ 两个实现结果是一样的.

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
对Session和Cookie的区分与解释
Mar 16 PHP
PHP中读写文件实现代码
Oct 20 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
Jan 06 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
Jan 22 PHP
php针对cookie操作的队列操作类实例
Dec 10 PHP
PHP记录页面停留时间的方法
Mar 30 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 #PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 #PHP
php使用ereg验证文件上传的方法
Dec 16 #PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 #PHP
php中最简单的字符串匹配算法
Dec 16 #PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 #PHP
php输出金字塔的2种实现方法
Dec 16 #PHP
You might like
重置版游戏视频
2020/04/09 魔兽争霸
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
php session和cookie使用说明
2010/04/07 PHP
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
用JavaScript实现动画效果的方法
2013/07/20 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python采用getopt解析命令行输入参数实例
2014/09/30 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
详解python中各种文件打开模式
2020/01/19 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
成教自我鉴定
2013/10/27 职场文书
优秀求职信
2014/05/29 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
公司庆典欢迎词
2015/01/26 职场文书
学校食品安全责任书
2015/01/29 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技