ホームページ 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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Memcached キャッシュ テクノロジにより、PHP でのセッション処理が最適化されます。 Memcached キャッシュ テクノロジにより、PHP でのセッション処理が最適化されます。 May 16, 2023 am 08:41 AM

Memcached は、Web アプリケーションのパフォーマンスを大幅に向上させる、一般的に使用されるキャッシュ テクノロジです。 PHP で一般的に使用されるセッション処理方法は、サーバーのハードディスクにセッション ファイルを保存することです。ただし、サーバーのハードディスクがパフォーマンスのボトルネックの 1 つになるため、この方法は最適ではありません。 Memcached キャッシュ テクノロジを使用すると、PHP でのセッション処理を最適化し、Web アプリケーションのパフォーマンスを向上させることができます。 PHPでのセッション

php include と include_once の違いは何ですか php include と include_once の違いは何ですか Mar 22, 2023 am 10:38 AM

PHP を使用して Web ページを作成する場合、他の PHP ファイルのコードを現在の PHP ファイルに含める必要がある場合があります。現時点では、include 関数または include_once 関数を使用してファイルのインクルードを実装できます。では、include と include_once の違いは何でしょうか?

PHPを使用して100以内の奇数を見つける方法 PHPを使用して100以内の奇数を見つける方法 Dec 23, 2022 pm 06:54 PM

実装手順: 1. for ステートメントの制御範囲を使用して 1 から 100 までの数値を調べます。構文は「for ($i = 1; $i <= 100; $i++) {loop body code}」です。ループ本体はif文と%演算子を使って奇数を取得、出力するだけで、構文は「if($i % 2 != 0){echo $i.」「;}」となります。

PHP セッションのクロスドメインおよびクロスサイトのリクエスト フォージェリの比較分析 PHP セッションのクロスドメインおよびクロスサイトのリクエスト フォージェリの比較分析 Oct 12, 2023 pm 12:58 PM

PHPSession のクロスドメインおよびクロスサイト リクエスト フォージェリの比較分析 インターネットの発展に伴い、Web アプリケーションのセキュリティが特に重要になってきました。 PHPSession は、Web アプリケーションの開発時によく使用される認証およびセッション追跡メカニズムですが、クロスドメイン リクエストとクロスサイト リクエスト フォージェリ (CSRF) は 2 つの主要なセキュリティ脅威です。ユーザーデータとアプリケーションのセキュリティを保護するために、開発者はセッションクロスドメインとCSRFの違いを理解し、CSRFを採用する必要があります。

jqueryでselect要素を非表示にする方法 jqueryでselect要素を非表示にする方法 Aug 15, 2023 pm 01:56 PM

jquery で select 要素を非表示にする方法: 1. hide() メソッド。jQuery ライブラリを HTML ページに導入します。さまざまなセレクターを使用して select 要素を非表示にできます。ID セレクターは、selectId を選択した select 要素の ID に置き換えます。実際に使用する; 2. css() メソッド、ID セレクターを使用して非表示にする必要がある select 要素を選択し、css() メソッドを使用して表示属性を none に設定し、selectId を select 要素の ID に置き換えます。

Select Channels Goの非同期処理方法 golangを使った並行プログラミング Select Channels Goの非同期処理方法 golangを使った並行プログラミング Sep 28, 2023 pm 05:27 PM

golang を使用した SelectChannelsGo 同時プログラミングの非同期処理方法 はじめに: 同時プログラミングは、アプリケーションのパフォーマンスと応答性を効果的に向上させることができる、現代のソフトウェア開発における重要な領域です。 Go 言語では、Channel と Select ステートメントを使用して同時プログラミングを簡単かつ効率的に実装できます。この記事では、SelectChannelsGo 同時プログラミングの非同期処理メソッドに golang を使用する方法を紹介し、具体的な方法を提供します。

PHP セッションのクロスドメインの問題を解決するためのベスト プラクティス PHP セッションのクロスドメインの問題を解決するためのベスト プラクティス Oct 12, 2023 pm 01:40 PM

PHPSession のクロスドメイン問題を解決するためのベスト プラクティス インターネットの発展に伴い、フロントエンドとバックエンドを分離する開発モデルがますます一般的になってきています。このモードでは、フロントエンドとバックエンドが異なるドメイン名で展開される可能性があり、クロスドメインの問題が発生します。 PHP を使用するプロセスでは、セッションの配信と管理にもクロスドメインの問題が発生します。この記事では、PHP でセッションのクロスドメインの問題を解決するためのベスト プラクティスを紹介し、具体的なコード例を示します。 Cookie の使用Using Cookies

jQueryで選択要素の変更イベントバインディングを実装する方法 jQueryで選択要素の変更イベントバインディングを実装する方法 Feb 23, 2024 pm 01:12 PM

jQuery は、DOM 操作、イベント処理、アニメーション効果などを簡素化するために使用できる人気のある JavaScript ライブラリです。 Web 開発では、選択した要素のイベント バインディングを変更する必要がある状況によく遭遇します。この記事では、jQuery を使用して選択要素変更イベントをバインドする方法を紹介し、具体的なコード例を示します。まず、ラベルを使用してオプションを含むドロップダウン メニューを作成する必要があります。

See all articles