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 相关文章推荐
浅谈Windows下 PHP4.0与oracle 8的连接设置
Oct 09 PHP
php下实现折线图效果的代码
Apr 28 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
php中拷贝构造函数、赋值运算符重载
Jul 25 PHP
基于Zend的Config机制的应用分析
May 02 PHP
PHP 循环删除无限分类子节点的实现代码
Jun 21 PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 PHP
PHP与Java对比学习日期时间函数
Jul 03 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 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/02/23 PHP
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
AngularJS基础 ng-include 指令简单示例
2016/08/01 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
原生js实现简单的链式操作
2017/07/04 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
Python常用列表数据结构小结
2014/08/06 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
详解Python编程中包的概念与管理
2015/10/16 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python中property和setter装饰器用法
2019/12/19 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
大学生求职自荐信
2013/12/12 职场文书
元旦活动感言
2014/03/08 职场文书
如何写好建议书
2014/03/13 职场文书
安全责任书怎么写
2014/07/28 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
警示教育观后感
2015/06/17 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
Java移除无效括号的方法实现
2021/08/07 Java/Android