php大量新增資料與批次更新資料的實現方法_php技巧

來源:互聯網
上載者:User

本文執行個體講述了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程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.