PHP edit database entries codeigniter


0
Здравейте, направих си форма с X полета за попълване на данни в съответните X колонки в базата данни и 3 бутона: Submit (New), Delete и Edit. Като под формата за въвеждане на данни ми се изписват въведените данни, а до всеки ред с данни са ми бутоните Delete и Edit.
Първите 2 бутона си проработиха, но за Edit не мога да го измисля. CMS в случая е Codeigniter.
Моля за помощ.



Отговори



0
първо взимаш записа който ти трябва (по id) update-ваш му стойностите и го запаметяваш... ако съм ти разбрал правилно въпроса де

от paveld3 (17458 точки)


0
Здравей, Павка,
не мога да преценя дали това става в друга страница, тоест ако Submit води към /form (action="/form"), идеята ми е на формата с бутона Edit да дам action="/form1", която да има същите полета, но вече попълнени с данните от съотвеното id в базата данни, след което като променя просто давам Submit. Правилна ли ми е логиката?
А иначе ти работил ли си с този CMS?



0
Важно е да предадеш в заявката кое ID искаш да редактирашм за да извлечеш данните от базата. От там нататък действаш като събмита. Честно казано не разбрах кое точно те затруднява. Може да го деплойнеш някъде.
Иначе CodeIgniter e фреймуорк и лично на мен ми е любимият.

от dosman (400 точки)

0
Има различни начини. Sumbit може да ти води към друга страница (например edit.php), но може да се направи да води и към същата, като оставиш стойността на атрибута action празна (action=""). За да направиш да води към същата страница можеш да използваш и следния код:
action=''
Всичко зависи от големината на проекта. Ако е много голям аз бих го изнесъл в отделна страница.

от georgi.s.yankov (6219 точки)



1

На всеки резултат който се опиташ да Редактираш, му предаваш ID от баата данни на съответният бутон EDIT като в случеят можеш да ползваш най-обикноен линк тоест <a href="<?php echo $array_with_data['id']; ?>">EDIT</a>

При клик на съответният бутон се предава през GET съответният идентификатор на полето, който можеш да манипулираш през URL класът на който е вграден в CodeIgniter и за който можеш да прочетеш 

http://codeigniter.com/user_guide/libraries/uri.html

 

Иначе по отношение на рекламата за съответният фреимуърк, мога да кажа че зависи от работата която вършиш, CI е лек и интуитивен набор от предефинирани класове, които лесно могат да бъдат нстанцирани и ползвани, може да се ползва и а тежки проекти, но ако искате високо ниво на абстракция, предефинирани връзки с ORM и прочие вече готови решения трябва да се насочите към ZEND или Cake PHP които са големите в този сегмент


от Mihail_Petrov (2718 точки)


0
+1 Благодаря за информацията, колега!

от georgi.s.yankov (6219 точки)

0
Между другото, с чисто PHP този ред:
EDIT
..би трябвало да бъде нещо подобно на:
EDIT
..чрез който в url-a ще се добави променливата "post", която ще съдържа стойността на съответното "ID".
Но ако такъв е синтаксиса в Codeigniter, нямам забележки :).

от georgi.s.yankov (6219 точки)



0
Много ви благодаря за отговорите.