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 相关文章推荐
IIS6的PHP最佳配置方法
Mar 19 PHP
PHP 日期时间函数的高级应用技巧
Oct 10 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
php判断一个数组是否为有序的方法
Mar 27 PHP
PHP文件读取功能的应用实例
May 08 PHP
PHP异常处理浅析
May 12 PHP
PHP处理postfix邮件内容的方法
Jun 16 PHP
PHP中的流(streams)浅析
Jul 02 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
php扩展开发入门demo示例
Sep 23 PHP
php实现分页功能的详细实例方法
Sep 29 PHP
Git命令之分支详解
Mar 02 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
php语言的7种基本的排序方法
2020/12/28 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
vue.js封装switch开关组件的操作
2020/10/26 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
python动态加载包的方法小结
2016/04/18 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
药品质量检测应届生求职信
2013/11/14 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
赔偿协议书
2015/01/27 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
python获取带有返回值的多线程
2022/05/02 Python