




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Laravel框架數據庫操作與應用
用戶信息管理實例(Laravel框架實現)引入DB類
或
模型用戶信息管理:--顯示用戶列表--添加用戶--刪除用戶--修改用戶信息Laravel數據庫操作如何實現相應功能呢?一、用戶列表主頁面示例展示信息SQL語句1)使用DB::select方法獲取數據庫users表的信息。2)select方法傳入原生SQL查詢語句SELECT,執行后存在結果集$res中。//查詢數據庫返回結果集$res=DB::select(“SELECT*FROMusers");一、用戶列表主頁面示例準備視圖模板1)創建視圖模板。2)在視圖模板中填入與用戶表字段一致的表頭信息。一、用戶列表主頁面示例傳數據到視圖模板1)用compact()函數將結果集轉為關聯數組,傳給視圖模板showusers。2)在視圖模板中用@foreach語句遍歷結果,將數據用雙花括號填入模板中。<tbody>
@foreach($resas$v) <tr> <td>{{$v->uid}}</td> <td>{{$v->username}}</td> <td>{{$v->email}}</td> <td>{{$v->sex}}</td>
@endforeach</tbody>returnview("showusers",compact('res'));操作案例-用戶列表主頁面在Laravel框架的resources\views文件夾中,創建子文件夾users。步驟與關鍵代碼分析:示例在視圖的文件夾users中創建視圖模板:showusers.blade.php創建控制器:Phpartisanmake:controllerUsersController在控制器中引入GB類:useDB;操作案例-用戶列表主頁面在控制器中添加查詢用戶表所有信息,并返回視圖模板的方法:publicfunctionshowusers(){$res=DB::select("select*fromusers");returnview("showusers",compact('res'));}步驟與關鍵代碼分析:示例配置路由、測試:Route::get("/showusers","UsersController@showusers");操作案例-用戶列表主頁面用數組遍歷的方式,將數組元素填到視圖模板相應的表格列中: @foreach($resas$v) <tr> <td>{{$v->uid}}</td> <td>{{$v->username}}</td> <td>{{$v->email}}</td> <td>{{$v->sex}}</td> </tr> @endforeach
步驟與關鍵代碼分析:示例二、添加用戶用Laravel框架實現給數據庫users用戶表添加用戶信息。示例案例展示二、添加用戶示例添加用戶的語句1)使用DB::insert方法添加用戶信息。2)insert方法傳入的為原生SQL插入語句INSERTINTO。$rest=DB::insert("INSERTINTOusers(username,password,email,sex)VALUES(?,?,?,?)",[$uname,$upass,$uemail,$usex]);二、添加用戶示例表單與提交方法1)method用于指定表單的提交方法。2)action用于指定表單提交的請求路徑。3)url方法用于獲取傳入請求的完整路徑。4)表單域的名稱通過name屬性指定。5){{csrf_field()}}為防止CSRF攻擊的令牌。<formaction="{{url(‘/addok')}}"method="post"name="send">{{csrf_field()}}<divclass="form-group"> <labelfor="username">用戶名</label> <inputtype="text"class="form-control"id="username"name="username"placeholder="用戶名"></div>
(……)<inputtype="submit"value="提交">
</form>二、添加用戶示例CSRF令牌添加用戶的表單需要設置CSRF令牌。1)CSRF(CrossSiteRequestForgery),是跨站點請求偽造的英文縮寫。CSRF攻擊互聯網的一種惡意攻擊,它憑借已通過身份驗證的用戶身份來運行未經過授權的命令
。2)Laravel框架為了提高安全性,默認會對POST方式發過來的請求進行令牌驗證,如果提交的表單沒有令牌或令牌失效,請求就會被截欄。3)在定義添加用戶信息視圖表單的時候,要在表單中添加{{csrf_field()}}或{{csrf_token()}}模板語法來獲取令牌,隨表單一起提交,才能通過Laravel框架的CSRF令牌驗證。否則表單提交時會被截欄。操作案例-添加用戶在Laravel框架的resources\views\users文件夾中創建視圖模板:add.blade.php,用于交互地輸入要添加的用戶信息步驟與關鍵代碼分析:示例在視圖中添加與數據表users字段相對應的表單域信息,設置表單的action、method屬性,設置CSRF令牌。<formaction="{{url(‘/addok')}}"method="post"name="send">{{csrf_field()}}操作案例-添加用戶在Users控制器中添加add()方法,該方法返回視圖add:
publicfunctionadd(){ returnview(“add");}步驟與關鍵代碼分析:示例在Users控制器中添加addok()方法,該方法用于處理表單提交的請求頁面信息,將新增用戶信息入庫。
publicfunctionaddok(){ ……}操作案例-添加用戶步驟與關鍵代碼分析:示例配置路由、測試:Route::get("/add","UsersController@add");在用戶信息管理主頁面中添加超級鏈接按鈕,實現點擊鏈接按鈕轉向添加用戶模塊的功能。<aclass="btnbtn-success"href="/add">添加用戶</a>三、刪除用戶用Laravel框架實現給數據庫users用戶表刪除指定的記錄。示例案例展示三、刪除用戶示例刪除傳參方法用?參數名的方法將參數傳到請求頁面,這種傳參方式為GET傳參方式。<tbody> @foreach($resas$v) <tr> <td>{{$v->uid}}</td> <td>{{$v->username}}</td> <td>{{$v->email}}</td> <td>{{$v->sex}}</td> <td><ahref="/userzsgc/del?id={{$v->uid}}"onclick="returnconfirm('確定要刪除嗎?');">刪除</a></td> @endforeach</tbody>三、刪除用戶示例刪除用戶的語句1)GET方法傳遞的參數都存在超全局變量$_GET數組集合中。2)使用DB::delete方法刪除用戶信息。3)delete方法傳入的為原生SQL刪除語句DELETE。//接收GET方法傳遞的參數id$uid=$_GET['id'];$res=DB::delete("DELETEFROMusersWHEREuid=?",[$uid]);操作案例-刪除用戶步驟與關鍵代碼分析:示例在用戶信息管理主頁面中添加刪除用戶的超級鏈接控件,指定鏈接轉向的路由,并以get方式傳遞用戶id。<ahref="/del?id={{$v->uid}}"onclick="returnconfirm('確定要刪除嗎?');">刪除</a>在鏈接中添加onclick事件,根據confirm函數的返回值,用于確認是否提交刪除請求。操作案例-刪除用戶在Users控制器中添加del()方法,該方法用于接收用戶id,完成對數據庫用戶表指定id的操作,并返回主頁面:publicfunctiondel(){ $uid=$_GET['id']; $res=DB::delete("DELETEFROMusersWHEREuid=?",[$uid]); returnredirect()->action('UsersController@sel'); }步驟與關鍵代碼分析:示例操作案例-刪除用戶步驟與關鍵代碼分析:示例配置路由、測試:Route::get("/del","UsersController@del");四、修改用戶信息用Laravel框架實現將數據庫users用戶表信息展示在網頁中。示例案例設計四、修改用戶信息示例獲取原來的信息1)用?參數名的方法將要修改的用戶id傳到請求頁面。2)使用DB::select方法查詢要修改的用戶信息,并傳遞給交互的修改視圖模板。<tbody> @foreach($resas$v) <tr> <td>{{$v->uid}}</td> <td>{{$v->username}}</td> <td>{{$v->email}}</td> <td>{{$v->sex}}</td> <td><ahref="/upd?id={{$v->uid}}">修改</a></td> @endforeach</tbody>$uid=$_GET['id’];$res=DB::select("SELECT*FROMusersWHEREuid=?",[$uid]);returnview("upd",compact('res'));四、修改用戶信息示例顯示原來的信息1)用@foreach($resas$v)讀取傳入視圖的原數據。2)用雙花括號包裹將原數據顯示在相應的表單控件中。3)action屬性指定表單。3)method用于指定表單的提交方法。5){{csrf_field()}}為防止CSRF攻擊的令牌。<formaction="{{url('/updok')}}"method="post"name="send">
{{csrf_field()}}
@foreach($resas$v) <divclass="form-group"> <labelfor="uid">用戶ID</label> <inputtype="text"class="form-control"name="uid"value="{{$v->uid}}"readonly="readonly"placeholder="用戶ID"> </div> <divclass="form-group"> <labelfor="username">用戶名</label> <inputtype="text"class="form-control"name="username"value="{{$v->username}}"placeholder="用戶名"> </div>
(……) @endforeach <inputtype=“submit”value=“點擊修改"></form>四、修改用戶信息示例修改操作1)已修改的信息存放在$_POST超全局變量的數組中,從修改表單獲取修改后的信息。2)調用DB的update方法完成修改操作。$uid=$_POST['uid'];$uname=$_POST['username'];$upass=$_POST['password'];$uemail=$_POST['email'];$usex=$_POST['sex’];$rest=DB::update("UPDATEusersSETusername=?,password=?,email=?,sex=?WHEREusers.uid=?",[$uname,$upass,$uemail,$usex,$uid]);操作案例-修改用戶信息在Laravel框架的resources\views\users文件夾中創建視圖模板:upd.blade.php,用于展示原信息及提供交互地輸入要修改的用戶信息。步驟與關鍵代碼分析:示例在視圖中添加與數據表users字段相對應的表單域信息,設置表單的action、method屬性,設置CSRF令牌。<formaction="{{url(‘/updok')}}"method="post"name="send">{{csrf_field()}}操作案例-修改用戶信息在用戶信息管理主頁面中添加修改用戶信息的超級鏈接控件,指定鏈接轉向的路由,并以get方式傳遞用戶id。<ahref="/upd?id={{$v->uid}}">修改</a>步驟與關鍵代碼分析:示例在Users控制器中添加upd()方法,該方法接收用戶id,獲取原信息,并傳給視圖upd:
publicfunctionupd(){$uid=$_GET['id’];$res=DB::select("SELECT*FROMusersWHEREuid=?",[$uid]);returnview("upd",compact('res'));}操作案例-修改用戶信息在upd視圖模板中顯示原信息。如:<inputtype="text"name="username"value="{{$v->username}}"><inputtype="password"name="password"value="{{$v->password}}">步驟與關鍵代碼分析:示例操作案例-修改用戶信息在upd視圖模板中顯示原信息:<formaction="{{url('/updok')}}"method="post"name="send">{{csrf_field()}}@foreach($resas$v) <inputtype="textname="ui
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高溫爐膛三維隔熱設計行業深度調研及發展項目商業計劃書
- 美容護理行業可持續發展趨勢的政策支持-洞察闡釋
- 高速鐵路信號系統企業制定與實施新質生產力項目商業計劃書
- 綠色物流解決方案行業深度調研及發展項目商業計劃書
- 生物保健品企業制定與實施新質生產力項目商業計劃書
- 高精度醫學影像診斷平臺行業深度調研及發展項目商業計劃書
- 金融科技創業加速器行業跨境出海項目商業計劃書
- 中小企業信用融資服務行業跨境出海項目商業計劃書
- 氣候變化對生物群落影響的評估模型-洞察闡釋
- 肺炎衣原體治療效果的成本效益研究-洞察闡釋
- 山東省高考志愿規劃
- 籃球研究報告
- 機械通氣基礎知識與常見模式
- 家具借款借條模板
- 預防肥胖幼兒園
- 淚道置管的護理課件
- 造影劑腦病護理查房課件
- 電力鐵塔制造培訓資料
- 采購詢價單模板
- 聯合體內部協議
- 海南省近5年中考語文作文真題及模擬題匯編(含參考例文)
評論
0/150
提交評論