溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

利用php怎么對(duì)數(shù)據(jù)進(jìn)行批量添加

發(fā)布時(shí)間:2020-12-11 16:17:55 來(lái)源:億速云 閱讀:157 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

利用php怎么對(duì)數(shù)據(jù)進(jìn)行批量添加?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

php如果要批量保存數(shù)據(jù)我們只要使用sql的insert into語(yǔ)句就可能實(shí)現(xiàn)數(shù)據(jù)批量保存了,如果是更新數(shù)據(jù)使用update set就可以完成更新了,操作方法都非常的簡(jiǎn)單,下面整理兩個(gè)例子.

批量數(shù)據(jù)錄入

設(shè)計(jì)方法:同時(shí)提交多條表單記錄,為每一條記錄設(shè)置相同的文本域名稱(chēng),然后在表單處理頁(yè)中,通過(guò)for循環(huán)來(lái)讀取提取表單提交的數(shù)據(jù),最后以數(shù)據(jù)的形式將數(shù)據(jù)逐條添加到數(shù)據(jù)庫(kù)中.

其中,應(yīng)用一個(gè)count()函數(shù)來(lái)獲取數(shù)組中元素的個(gè)數(shù).int count(mixed var);

表單提交頁(yè)面,代碼如下:

<form name="form1" method="post" action="index_ok.php"> 
<tr> 
<td>商品名稱(chēng)</td> 
<td>編號(hào)</td> 
<td>單價(jià)</td> 
<td>數(shù)量</td> 
<td>產(chǎn)地</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>


數(shù)據(jù)庫(kù)連接頁(yè),代碼如下:

<?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()); 
?>


表單處理頁(yè),代碼如下:

<?php session_start(); include("conn/conn.php"); 
if($submit==true){ 
    for($i=0;$i<count($sp_name);$i++){ 
        $path=$_POST["sp_name"][$i]; 
        $path2=$_POST["sp_number"][$i]; 
        $path3=$_POST["price"][$i]; 
        $path4=$_POST["counts"][$i]; 
        $path5=$_POST["address"][$i]; 
        $query=mysql_query("insert into tb_products(sp_name,sp_number,price,counts,address,data) values('$path','$path2','$path3','$path4','$path5','$data');}
    if($query==true){ 
        echo"提交成功"; 
    else 
        echo"提交失敗";} 
} 
?>

批量更新數(shù)據(jù)

主要通過(guò)while, list(),each()函數(shù)來(lái)實(shí)理數(shù)據(jù)的批量更新,list()函數(shù)用于一次性為多個(gè)變量賦值,代碼如下:

<?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="凍結(jié)"> 
</tr> 
</form>


表單處理頁(yè),代碼如下:

<?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=="凍結(jié)"){ 
    while(list($name,$value)=each($_POST)){ 
        $result=mysql_query("update tb_user set operation='凍結(jié)' where id='".$name."'"); 
    if($result==true){ 
        echo "<script> alert('凍結(jié)成功');window.location.href='index.php';</script>";}} 
} 
?>


總結(jié):心細(xì)的朋友會(huì)發(fā)現(xiàn)兩個(gè)例子都有幾個(gè)共同點(diǎn),一個(gè)是表單from的表單名是以counts[]數(shù)組形式了,而在php處理接受頁(yè)面都會(huì)使用for 或while來(lái)實(shí)現(xiàn)遍歷了,下面我就簡(jiǎn)單的給大家分析這兩個(gè)例子.

counts[]:這個(gè)在表單中是代表數(shù)組,如果你有10個(gè)表單那么我們name=counts[] 意思他們內(nèi)個(gè)都是一樣數(shù)組,知道這個(gè)是數(shù)組了就知道下面知道為什么會(huì)使用遍歷了.

for或while:因?yàn)楸韱芜^(guò)來(lái)的是數(shù)組我們就可以遍歷數(shù)組然后對(duì)數(shù)據(jù)進(jìn)行保存了,如下代碼:

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

for($i=0;$i<count($sp_name);$i++){ 兩個(gè)實(shí)現(xiàn)結(jié)果是一樣的.

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

關(guān)于利用php怎么對(duì)數(shù)據(jù)進(jìn)行批量添加問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI