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 相关文章推荐
Discuz板块横排显示图片的实现方法
May 28 PHP
php fsockopen中多线程问题的解决办法[翻译]
Nov 09 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
Symfony页面的基本创建实例详解
Jan 26 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
PHP实现通用alert函数的方法
Mar 11 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 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函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
php数组和链表的区别总结
2019/09/20 PHP
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
Python中修改字符串的四种方法
2018/11/02 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
Python生成词云的实现代码
2020/01/14 Python
Python如何转换字符串大小写
2020/06/04 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
python开发入门——set的使用
2020/09/03 Python
python操作toml文件的示例代码
2020/11/27 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
护理中职生求职信范文
2014/02/24 职场文书
大学生社会实践方案
2014/05/11 职场文书
卖车协议书范例
2014/09/16 职场文书
大学四年个人总结
2015/03/03 职场文书
大学生求职信怎么写
2015/03/19 职场文书
小学中队活动总结
2015/05/11 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
Python学习之时间包使用教程详解
2022/03/21 Python
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android