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的魔术方法__get()和__set()使用介绍
Sep 19 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
PHP多个文件上传到服务器实例
Oct 29 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
PHP验证信用卡卡号是否正确函数
May 27 PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 PHP
微信公众号实现会员卡领取功能
Jun 08 PHP
Thinkphp5框架使用validate实现验证功能的方法
Aug 27 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 26 PHP
关于PHP中interface的用处详解
Jul 26 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
Sep 17 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
mysql 全文搜索 技巧
2007/04/27 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
jQuery 使用手册(五)
2009/09/23 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
python中的代码编码格式转换问题
2015/06/10 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
Python 实现try重新执行
2019/12/21 Python
python设置环境变量的作用整理
2020/02/17 Python
python TCP包注入方式
2020/05/05 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
幼儿园义卖活动方案
2014/01/17 职场文书
上班上网检讨书
2014/01/29 职场文书
小学生寒假家长评语
2014/04/16 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
亚运会口号
2014/06/20 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL