php批量添加数据与批量更新数据的实现方法

2015-01-24信息快讯网

这篇文章主要介绍了php批量添加数据与批量更新数据的实现方法,涉及针对表单的处理与sql语句的灵活使用,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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使用正则表达式获取图片url的方法
php使用CURL伪造IP和来源实例详解
php+mysql实现无限分类实例详解
php截取html字符串及自动补全html标签的方法
php在linux下检测mysql同步状态的方法
将FCKeditor导入PHP+SMARTY的实现方法
php实现redis数据库指定库号迁移的方法
php导入excel文件到mysql数据库的方法
php模拟登陆的实现方法分析
php获取四位字母和数字的随机数的实现方法
php实现按照权重随机排序数据的方法
PHP中调用SVN命令更新网站方法
php使用fputcsv()函数csv文件读写数据的方法
thinkphp备份数据库的方法分享
php从memcache读取数据再批量写入mysql的方法
php+mysqli实现批量替换数据库表前缀的方法
php更新mysql后获取改变行数的方法
php实现refresh刷新页面批量导入数据的方法
PHP使用glob函数遍历目录或文件夹的方法
php中get_meta_tags()、CURL与user-agent用法分析
PHP使用array_multisort对多个数组或多维数组进行排序
php使用ereg验证文件上传的方法
PHP使用pcntl_fork实现多进程下载图片的方法
php中最简单的字符串匹配算法
PHP实现将科学计数法转换为原始数字字符串的方法
php输出金字塔的2种实现方法
php图片的二进制转换实现方法
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
php实现可用于mysql,mssql,pg数据库操作类
PHP实现PDO的mysql数据库操作类
PHP实现的sqlite数据库连接类
php+mysql数据库实现无限分类的方法
php实现MySQL数据库备份与还原类实例
ThinkPHP添加更新标签的方法
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
php实现的CSS更新类实例
PHP实现更新中间关联表数据的两种方法
php批量删除数据库下指定前缀的表以prefix_为例
©2014-2024 dbsqp.com