使用js批量選中功能實現更改資料庫中的status狀態值(批量展示)

来源:http://www.cnblogs.com/yangzailu/archive/2016/11/22/6088622.html
-Advertisement-
Play Games

我們在開發項目的時候經常會在後臺管理時用到批量展示功能來動態的修改資料庫的值。下麵以修改資料庫的status狀態值來實現批量展示功能。批量選中功能引用js來實現。前端html代碼: js代碼使用ajax提交代碼到後臺GoodsShow()方法: 後臺GoodsShow()方法: ...


我們在開發項目的時候經常會在後臺管理時用到批量展示功能來動態的修改資料庫的值。下麵以修改資料庫的status狀態值來實現批量展示功能。批量選中功能引用js來實現。
前端html代碼:

<table class="mlt" style="border:1px solid red;">
                    <thead>
                    <tr>
                        <if condition="$type eq 'pg'">
                            <th colspan="9" style="text-align:left;padding-left:20px;background-color:#e5e4e4;color:#c10e23;">實物商品</th>
                        <else/>
                            <th colspan="8" style="text-align:left;padding-left:20px;background-color:#e5e4e4;color:#c10e23;">虛擬商品</th>
                        </if>
                        <th style="background-color:#e5e4e4;">
                        <a href="{:U('Mall/AddMall',array('type'=>$type))}" style="color:#c10e23;text-decoration:none;">+新增商品</a></th>    
                    </tr>
                    <tr>
                        <th style="background-color:#f7f7f7;width:8%;text-align:center;" class="lf">
                            <input name='chkAll' type='checkbox' id='chkAll' onClick="checkAll(this, 'id[]')" value='checkbox' />&nbsp;全選
                        </th>
                        <th style="background-color:#f7f7f7;width:8%;" class="lf">商品編號</th>
                        <th style="background-color:#f7f7f7;width:13%;" class="lf">名稱</th>
                        <th style="background-color:#f7f7f7;width:18%;" class="lf">標題</th>
                        <if condition="$type eq 'pg'">
                        <th style="background-color:#f7f7f7;width:8%;" class="lf">品牌</th>
                        </if>
                        <th style="background-color:#f7f7f7;width:8%;" class="lf">組別</th>
                        <th style="background-color:#f7f7f7;width:5%;" class="lf">排序</th>
                        <th style="background-color:#f7f7f7;width:5%;" class="lf">狀態</th>
                        <th style="background-color:#f7f7f7;width:10%;">圖標</th>
                        <th style="background-color:#f7f7f7;text-align:center;" class="lf">操作</th>
                    </tr>
                    </thead>
                    <tbody>
                    <volist name="list" id="vo">
                    <tr>
                        <td class="lf" style="text-align:center;">
                        <input name='id[]' type='checkbox' value='{$vo.id}' onClick="checkItem(this, 'chkAll')">
                        </td>
                        <td class="lf">{$vo['code']}</td>
                        <td class="lf">{$vo['name']}</td>
                        <td class="lf">{$vo['title']}</td>
                        <if condition="$type eq 'pg'">
                        <td class="lf">{$vo['brand']}</td>
                        </if>
                        <td class="lf">{$vo['ggroup']}</td>
                        <td class="lf">{$vo['sortno']}</td>
                        <td class="lf"><if condition="$vo['status'] eq 1">展示<else/>不展示</if></td>
                        <td><img src="{$vo['base_img']}" style="width:40px;" /></td>
                        <td class="lf" style="text-align:center;">
                            <a href="{:U('Mall/NextLevel',array('pid'=>$vo['id']))}" class='cz' style="text-decoration:none;">編輯子信息</a>
                            <a href="{:U('Mall/UpdateMall',array('id'=>$vo['id']))}" class='cz' style="text-decoration:none;margin:0 7px;">編輯</a>
                           <a href="{$Think.config.WEB_URL}/Shop/GoodsDetails.html?pid={$vo['id']}&type={$vo['type']}" class='cz' style="text-decoration:none;" target="_Blank">查看</a>
                        </td>
                    </tr>
                    </volist>
                    <tr height="45">
                        <td colspan="10" style="text-align:left;padding-left:40px;">
                            <input type="button" id="btn_show" value="批量展示" class="btn_normal" style="width:100px;margin-left:20px;">
                        </td>                
                    </tr>
                    </tbody>
                </table>
<div>{$page}</div>

js代碼使用ajax提交代碼到後臺GoodsShow()方法:

<script type="text/javascript">
    var ids = [];      //把得到的is轉化為數組形式
    $('#btn_show').click(function(){
        btnCheck('展示');
         data = {
            "ids":ids
        };
        $.ajax({
            type:"POST",
            url:"{:U('Mall/GoodsShow')}",
            data:data,
            //dataType:"json",
            success:function(msg){
                if(msg == 00){                                              //如果msg=00則修改成功
                    alert("批量展示成功");
                    window.location.href='/index.php/Admin/Mall/MallList';  //修改完成後自動刷新
                }else{
                    alert("批量展示失敗,請重新編輯");
                }
            },
            error:function(){
                  alert("批量編輯失敗,請重新編輯");                           //錯誤提示
             }
        });                  
    });function btnCheck(info){ 
        var obj = $("input[name='id[]']:checked").each(function(){      //得到選中的id的每一個值並且這個值為一個數組
            ids.push($(this).val());                       
        });
        if (ids == false) {                       
            alert("請選定要"+info+"的商品");
            return false;
        }else {
            return ids; 
        }
    }
</script>

後臺GoodsShow()方法:

public function GoodsShow(){
        $goods=M('shop_goods_info');   //實例化要使用的數據表
        $data = I();                   //獲取前臺頁面獲取的id值(這個值為一個一位數組)
        //var_dump(I('ids'));die();    //列印
        $id=implode(',',I('ids'));     //把得到的這個數組用implode方法拆分 
        //var_dump(I('id'));die();      //列印查看
        $order=$goods->where("id in ($id)")->setField('status','1');    //用得到的$id的值匹配資料庫中的id值,並設置id下的status欄位值為1.
        if($order>=1){                  // 如果...else...       
            $remark="00";
        }else{
            $remark="01";
        }
        echo $remark;

    }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 先來展示下做到了什麼? 首先要導入一個文件夾下的所有文件,要不你怎麼操作呢?或者,如果本地有xml文檔,可以載入xml文檔內容。 圖片上的描述已經夠看了,我就不費事在這裡多寫些什麼了。 我又仔細的看了一下,貌似也不需要語言上解釋什麼了,唉,那就這樣吧。 昨天花了三四個小時做的,今天又簡單的修改了一下 ...
  • static void Main(string[] args) { Console.WriteLine(foo(30)); Console.ReadKey(); } public static int foo(int i) { if (i <= 0) { return 0; } else if (i ...
  • MVC 框架中自帶了 模型驗證框架 只需要在實體中添加驗證規則,然後就可以在控制器裡面驗證實體 實體代碼 控制器代碼 這樣的代碼寫過幾次之後就會發現 model驗證的代碼其實和 控制器關聯不大,而且判斷實體是否通過驗證代碼是重覆的.這個時候我們可以把代碼提取出來放到過濾器裡面 新建一個類繼承 Fil ...
  • 介紹 如果你已經開發完一個不錯的SSIS包並且能夠在你的本地完美的運行,每個任務都亮起綠色的通過標誌。這時為了能夠讓這個包處理能夠在指定時間運行,你需要將其發佈到一個伺服器上,並做好相關配置。作為開發人員可能我們不能直接在生產環境去做這個事情,這需要我們有一個開發或者測試環境來完成整個部署測試,因為 ...
  • 筆者看到mvc最近比較流行,而很多使用一些比較舊的的方法上傳圖片,再次安利一下百度的webuploader控制項吧 webuploader第一步要先下載一些插件這點可以在webuploader官網上下載。http://fex.baidu.com/webuploader/ 開始的時候第一步引用webup ...
  • 經過前面那麼多篇的列表的介紹,終於到了大伙期待的表單開發了,也是本系列的最後一篇文章了!認真研究框架的朋友已經發現,不管是前端還是後端,裡面都有很多可圈可點地方,框架在設計上,儘量保持做到著無入侵,完全覆蓋即升級的方法,框架在擴展上,都提供了各種手法,而且手法統一,本篇詳情如下: ...
  • Smobiler是一個在VS環境中使用.Net語言來開發APP的開發平臺,也許比Xamarin更方便 ...
  • 當我們的頁面不存在或者出現錯誤的時候需要展示404頁面,以保證有較好的用戶體驗效果以及更好的SEO。 那麼再MVC中怎樣展示404頁面的呢? 當然這裡不是我們訪問一個錯誤地址或者頁面出錯後鏈接跳轉到www.xxx.com/404.html頁面,而是在錯誤的頁面或者鏈接不變的前提下,頁面內容展示404 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...