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面向对象分析设计的61条军规小结
Jul 17 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
php 启动报错如何解决
Jan 17 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
PHP多个文件上传到服务器实例
Oct 29 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
PHP6连接SQLServer2005的三部曲
Apr 15 PHP
php parse_str() 函数的定义和用法
May 23 PHP
Thinkphp整合微信支付功能
Dec 14 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 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
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
angular6的table组件开发的实现示例
2018/12/26 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
Python实现计算最小编辑距离
2016/03/17 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
django 实现简单的插入视频
2020/04/07 Python
python3排序的实例方法
2020/10/20 Python
利用python实现汉诺塔游戏
2021/03/01 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
四风批评与自我批评范文
2014/10/14 职场文书
杭白菊导游词
2015/02/10 职场文书
闪闪红星观后感
2015/06/08 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
python process模块的使用简介
2021/05/14 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS