niloofar noorbakhsh
niloofar noorbakhsh
خواندن ۲ دقیقه·۳ سال پیش

آموزش Code Igniter- قسمت هفتم

سلام

خب توی پست قبل روش create و delete کردن اطلاعات از database رو گفتیم.

تو این پست بریم راجع به update , show صحبت کنیم.

میخوایم یک user با Id مورد نظر از database بگیریم و نمایش بدیم. برای این کاری توی controller مینویسیم:


متد findUser در تصویر بالا Id مورد نظر رو به model میده و model توی دیتابیس کاربری با این Id پیدا کند و برگرداند.


توی مدل متد where چک میکند که آیا توی دیتابیس id با مقدار وارد شده داریم یا خیر

اگر بود اون رو get میکنه و توی متغیر row$میریزه. بعد با استفاده از متد ()getRow کل اطلاعات کاربر را به
controller برمیگرداند و بعد از طریق متد view اطلاعات را به view پاس میده.

ویرایش (update) :

توی ویرایش سناریو ماجرا اینطوریه که اول اطلاعات کاربر مورد نظر را میگیریم و بعد به view مورد نظر پاس میدیم. تا اینجا کاملا شبیه show هست. اما یک تفاوت دارد:

اطلاعات ارسالی رو داخل form باید نمایش بدیم

مثل عکس زیر

یعنی توی input مقدار value برابر است با مقدار گرفته شده از دیتابیس

<input type=&quottext&quot name=&quotname&quot value=&quot<?php echo $user->name?>&quot >

یک نکته ی دیگه اینه که برای این کار یک متد توی controller بنام مثلا edit درست میکنیم و داده ها میگیریم و به view پاس میدیم. و همانطور که گفتیم توی فرم نمایش میده. نکته ی ماجرا اینجاست که action رو روی متدی بنام update تنظیم میکنیم که داده های جدید برای ویرایش به این متد بروند و کدهای مربوط به ویرایش توی این متد نوشته میشود. به این صورت:

public function edit($id) { $data['user']=$this->user->findUser($id); echo view('users/edit',$data); } public function update($id) { }

توی متد update اطلاعات را یکی یکی میگیریم:

$name=$this->request->getPost('name'); $email=$this->request->getPost('email');

و بعد میفرستیم به مدل

$this->user->editUser( $id, $name, $email);


خب همینطور که میبینید اول با متد where کاربری با Id مورد نظر رو پیدا میکنیم و بعد مقادیر جدید رو set میکنیم و در آخر update میکنیم.

و تمام.

این هم از update ??

codeigniterphpآموزشفریمورک
شاید از این پست‌ها خوشتان بیاید