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+MSSQL分页的例子
Oct 09 PHP
php Undefined index的问题
Jun 01 PHP
PHP 读取文件内容代码(txt,js等)
Dec 06 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
Oct 12 PHP
php json_encode奇怪问题说明
Sep 27 PHP
深入PHP中的HashTable结构详解
Jun 13 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 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 读取和修改大文件的某行内容的代码
2009/10/30 PHP
php对大文件进行读取操作的实现代码
2013/01/23 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
smarty中常用方法实例总结
2015/08/07 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
解析vue中的$mount
2017/12/21 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
python妙用之编码的转换详解
2017/04/21 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
政治学专业毕业生求职信
2014/08/11 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
大学生在校表现评语
2014/12/31 职场文书
2015年社区工会工作总结
2015/05/26 职场文书
婚宴父母致辞
2015/07/27 职场文书
团组织关系介绍信
2019/06/24 职场文书