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 相关文章推荐
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
smarty模板局部缓存方法使用示例
Jun 17 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
php使用正则表达式进行字符串搜索的方法
Mar 23 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
Jun 17 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 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
网络资源
2006/10/09 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
php获取linux命令结果的实例
2017/03/13 PHP
php图片裁剪函数
2018/10/31 PHP
javascript jQuery插件练习
2008/12/24 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
微信小程序日历效果
2018/12/29 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
PyMongo安装使用笔记
2015/04/27 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
详解python datetime模块
2020/08/17 Python
接口可以包含哪些成员
2012/09/30 面试题
行政经理岗位职责
2013/11/09 职场文书
社区十八大感言
2014/01/19 职场文书
职工运动会邀请函
2014/01/19 职场文书
青年教师培训方案
2014/02/06 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
机器人总动员观后感
2015/06/09 职场文书
劳动模范获奖感言
2015/07/31 职场文书
2019思想汇报范文
2019/05/21 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript