首頁 php教程 php手册 浅析php批量添加和更新数据的方法实现

浅析php批量添加和更新数据的方法实现

Jun 02, 2016 am 09:13 AM
for迴圈 include php session select

批量添加数据和批量更新数据在可以为网站管理员节省不少时间,现在我们来学习一下用phpphp批量添加数据与批量更新数据的实现方法。

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(&#39;connection failed&#39;.mysql_error()); 
if(mysql_
select
_db(&#39;mydatabase&#39;,$id)) 
echo ""; 
else 
echo(&#39;select db failed:&#39;.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(&#39;$path&#39;,&#39;$path1&#39;,&#39;$path2&#39;,&#39;$path3&#39;,&#39;$path4&#39;,&#39;$data&#39;);"
    }
    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=&#39;激活&#39; where id=&#39;".$name."&#39;"); 
    if($result==true){ 
        echo "<script> alert(&#39;激活成功&#39;);window.location.href=&#39;index.php&#39;;</script>";}} 
 
if($submit2=="冻结"){ 
    while(list($name,$value)=each($_POST)){ 
        $result=mysql_query("update tb_user set operation=&#39;冻结&#39; where id=&#39;".$name."&#39;"); 
    if($result==true){ 
        echo "<script> alert(&#39;冻结成功&#39;);window.location.href=&#39;index.php&#39;;</script>";}} 
} 
?>
登入後複製

总结:心细的朋友会发现两个例子都有几个共同点,一个是表单from的表单名是以counts[]数组形式了,而在php处理接受页面都会使用for 或while来实现遍历了,下面我就简单的给大家分析这两个例子.

 

counts[]:这个在表单中是代表数组,如果你有10个表单那么我们name=counts[] 意思他们内个都是一样数组,知道这个是数组了就知道下面知道为什么会使用遍历了.

for或while:因为表单过来的是数组我们就可以遍历数组然后对数据进行保存了,如下代码:

while(list($name,$value)=each($_POST)){ 或

for($i=0;$i

本文链接:

收藏随意^^请保留教程地址.

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1246
24
Memcached快取技術對於PHP中的Session處理的最佳化 Memcached快取技術對於PHP中的Session處理的最佳化 May 16, 2023 am 08:41 AM

Memcached是一種常用的快取技術,它可以讓Web應用程式的效能得到很大的提升。在PHP中,常用的Session處理方式是將Session檔案存放在伺服器的硬碟上。但是,這種方式並不是最優的,因為伺服器的硬碟會成為效能瓶頸之一。而使用Memcached快取技術可以對PHP中的Session處理進行最佳化,提升Web應用程式的效能。 PHP中的Session處

php include和include_once有什麼差別 php include和include_once有什麼差別 Mar 22, 2023 am 10:38 AM

當我們在使用 PHP 編寫網頁時,有時我們需要在目前 PHP 檔案中包含其他 PHP 檔案中的程式碼。這時,就可以使用 include 或 include_once 函數來實作檔案包含。那麼,include 和 include_once 到底有什麼差別呢?

PHP Session 跨域與跨站請求偽造的比較分析 PHP Session 跨域與跨站請求偽造的比較分析 Oct 12, 2023 pm 12:58 PM

PHPSession跨域與跨站請求偽造的對比分析隨著網路的發展,Web應用程式的安全性顯得格外重要。在開發Web應用程式時,PHPSession是一種常用的身份驗證和會話追蹤機制,而跨域請求和跨站請求偽造(CSRF)則是兩種主要的安全威脅。為了保護使用者資料和應用程式的安全性,開發人員需要了解Session跨域和CSRF的區別,並採

解決 PHP Session 跨域問題的最佳實踐 解決 PHP Session 跨域問題的最佳實踐 Oct 12, 2023 pm 01:40 PM

解決PHPSession跨域問題的最佳實踐隨著互聯網的發展,前後端分離的開發模式越來越普遍。在這種模式下,前端與後端可能部署在不同的網域下,這就導致了跨域問題的出現​​。而在使用PHP的過程中,跨域問題也牽涉到Session的傳遞與管理。本文將介紹PHP中解決Session跨域問題的最佳實踐,並提供具體的程式碼範例。使用Cookie使用Coo

怎麼用php實現求100以內的奇數 怎麼用php實現求100以內的奇數 Dec 23, 2022 pm 06:54 PM

實現步驟:1、使用for語句控制範圍來遍歷1~100的數字,語法「for ($i = 1; $i <= 100; $i++) {迴圈體程式碼}」;2、在迴圈體中,利用if語句和「%」運算子取得並輸出奇數即可,語法「if($i % 2 != 0){echo $i." ";}」。

jquery如何隱藏select元素 jquery如何隱藏select元素 Aug 15, 2023 pm 01:56 PM

jquery隱藏select元素的方法:1、hide()方法,在HTML頁面中引入jQuery庫,可以使用不同選擇器來隱藏select元素,ID選擇器將selectId替換為你實際使用的select元素的ID;2、 css()方法,使用ID選擇器選擇需要隱藏的select元素,使用css()方法將display屬性設為none,並將selectId替換為select元素的ID。

使用golang進行Select Channels Go並發式程式設計的非同步處理方法 使用golang進行Select Channels Go並發式程式設計的非同步處理方法 Sep 28, 2023 pm 05:27 PM

使用golang進行SelectChannelsGo並發式程式設計的非同步處理方法引言:並發式程式設計是現代軟體開發中的重要領域,它可以有效地提高應用程式的效能和回應能力。在Go語言中,使用Channels和Select語句可以簡單而有效率地實現並發程式設計。本文將介紹如何使用golang進行SelectChannelsGo並發式程式設計的非同步處理方法,並提供具體的

PHP中for迴圈的執行順序是什麼 PHP中for迴圈的執行順序是什麼 Sep 22, 2021 pm 06:24 PM

執行順序:1、執行“初始化表達式”;2、執行“條件判斷表達式”,如果表達式的值為真,則執行“循環體”,否則結束循環;3、執行完循環體後,執行「變數更新表達式」;4.變數更新後,進入下一次循環,直到條件判斷值為假,結束循環。

See all articles