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 相关文章推荐
PHP源代码数组统计count分析
Aug 02 PHP
PHP通过session id 实现session共享和登录验证的代码
Jun 03 PHP
PHP利用str_replace防注入的方法
Nov 10 PHP
php实现对象克隆的方法
Jun 20 PHP
PHP计算加权平均数的方法
Jul 16 PHP
Symfony2实现在controller中获取url的方法
Mar 18 PHP
Yii调试查看执行SQL语句的方法
Jul 15 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
PHP开发实现微信退款功能示例
Nov 25 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 09 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
PHP的简易冒泡法代码分享
2012/08/28 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
PDO::getAvailableDrivers讲解
2019/01/28 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
Bootstrap进度条实现代码解析
2017/03/07 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
Windows下安装python2和python3多版本教程
2017/03/30 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
python中几种自动微分库解析
2019/08/29 Python
tensorflow之变量初始化(tf.Variable)使用详解
2020/02/06 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
策划助理岗位职责
2013/11/18 职场文书
校园创业策划书
2014/01/14 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
道德之星事迹材料
2014/05/03 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
作风建设年度心得体会
2014/10/29 职场文书
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js