Baza de date api drupal 7, actualizați (editați) datele utilizând db_update

În articolul API al bazei de date Drupal 7, preluați și ștergeți datele. db_select, db_query și db_delete. Partea 3, am scris complet o pagină cu un tabel, unde sunt afișate datele din tabelul nostru și a fost de asemenea făcută funcția de ștergere a înregistrării din tabel.
Aici vom scrie un formular pentru actualizarea înregistrării folosind db_update.

Scrierea unui formular

Desigur, trebuie să scriem un formular separat care să fie proiectat pentru a actualiza datele noastre. Dar pentru a crea o formă, trebuie să declare o nouă pagină în hook_menu. Codul paginii va fi după cum urmează:

$ items ['my_database /% / update'] = array (

'callback titlu' => 'my_database_update_page_title'.

'argumente de titlu' => array (1).

'callback pagină' => 'drupal_get_form'.

'argumente de pagină' => array ('my_database_update_form'. 1).

"argumentele de acces" => array ("administrarea configurației site-ului").

De fapt, nu este nimic complicat. Dacă nu știți ce înseamnă fiecare opțiune, atunci asigurați-vă că ați citit despre aceasta în articolul precedent, pe care l-am menționat deja mai sus.

Să descriem funcția specificată în inversarea titlurilor. deoarece utilizatorul care va folosi funcționalitatea noastră ar trebui să înțeleagă ce editează și titlul va da doar un indiciu excelent.
Funcția 'my_database_update_page_title' va arăta astfel:

funcția my_database_update_page_title ($ id)

$ placeholders = array (': id' => $ id);

$ number = db_query ("NUMĂRUL SELECTĂ" DE LA WHERE id = =: id ". $ placeholders) -> fetchField ();

întoarcere t ('Editați elementul cu numărul "@num"'. array ('@num' => număr $));

$ form ['#validate'] [] = 'my_database_insert_form_validate';

Actualizări de date

Pentru actualizarea datelor, funcția de trimitere a formularului va răspunde cu siguranță, forma sa va fi după cum urmează:

funcția my_database_update_form_submit ($ form. $ form_state)

$ id = $ form_state ['build_info'] ['argumente'] [0];

$ valori = $ form_state ['valori'];

$ form_state ['redirect'] = 'fișierul meu_databază';

Din cod, totul ar trebui să fie clar. De exemplu, liniile 5-12 actualizează datele. Vom specifica tabelul pe care îl vom actualiza, dăm datele date metodei câmpurilor. asigurați-vă că specificați o condiție, care înregistrare ar trebui să fie actualizată și la sfârșitul executării interogării.
Apoi, există un cec. Dacă rezultatul actualizării ne întoarce 1, înseamnă că înregistrarea este actualizată și ieșim mesajul corespunzător. Dacă tipăriți 0, înseamnă că înregistrarea nu a fost actualizată sau nu a avut nimic de actualizat. Ei bine, în cele din urmă, puteți merge la pagina cu masa.

Accident vascular cerebral final

În tabelul nostru, rămâne doar să adăugați un link către pagina care editează înregistrarea. Linia va fi astfel:

Sunt sigur că puteți găsi unde și cum să îl inserați, că ar fi în coloana "Acțiuni".
Desigur, puteți descărca codul sursă al modulului la sfârșitul articolului.

Asta e tot, am terminat de scris un modul care creează propriul tabel în baza de date Drupal, a creat o pagină pentru introducerea datelor, afișarea lor în tabel, actualizarea și ștergerea. De asemenea, am devenit destul de familiarizați cu hook_menu, capabilitățile API-ului Form, API-ul de bază de date în Drupal 7.
Vă mulțumim pentru atenție și vă mulțumim că ați folosit site-ul DrupalGuide.ru.

Spuneți prietenilor:

Articole similare