Vous êtes sur la page 1sur 11

Criando php painel CRUD admin em 10 minutos, utilizando dados biblioteca gerente

POR A N D R E Y EM 0 1 D E D E Z E M B R O D E 2 0 1 1 6 C O M E N T R I O S

Se voc um desenvolvedor PHP mais provvel que voc j teve uma tarefa para criar algo como isto: E quando voc clica em um dos item que voc precisa de algo assim para mostrar-se: E quando voc clicar em "Salvar" ou adicionar novo item, que ir salvar automaticamente todas as informaes ao banco de dados. Com Dados gerente php biblioteca voc pode facilmente criar painel de controle do admin como esta para qualquer tabela do banco de dados em 10 minutos! E no necessariamente deve ser a informao empregados. Pode ser qualquer coisa - lista de produtos, categorias, pedidos, pagamentos, ect.

Como funciona?
-Primeiro, voc precisa baixar dados biblioteca gerente . lo em qualquer lugar em seu servidor - pode ser raiz ou diretrio / bibliotecas ou qualquer outro-Venda. informaes de conexo de banco de dados / data_manager / params.php-Atribuir Por exemplo:
?

1 2 3 4 5 6 7

<? Php define define define define

( ( ( (

'DM_DB_HOST' 'DM_DB_NAME' 'DM_DB_USER' 'DM_DB_PASS'

, , , ,

'localhost' ); 'db_name' ); 'db_user' ); 'db_user_pass' );

define ( 'DM_BASE_URL' , 'http://mydomain.com/' );

-Ento voc vai precisar para criar dados de perfil do gestor, o que dir gerenciador de dados que cada campo na tabela do banco que fazer. Crie um arquivo com o nome de seu perfil com extenso php (por exemplo, "employees.php") dentro data_manager / / . perfis pasta / Exemplo de cdigo para o perfil employees.php pode ficar assim:
?

1 2 3

<? Php $ Tabela = "funcionrios" ;

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

$ Campos = matriz ( matriz ( 'Nome' => 'employeeNumber' , 'tipo' => 'chave' , 'title' => 'ID' ) , matriz ( 'Nome' => 'Nome' , 'tipo' => 'input' , 'title' => 'Nome' , 'is_link' => 1 , "link" => "/ index.php pgina? = edit_employee & id = ) , matriz ( 'Nome' => 'sobrenome' , 'tipo' => 'input' , 'title' => 'sobrenome' , 'is_link' => 1 , "link" => "/ index.php pgina? = edit_employee & id = ) , matriz ( 'Nome' => 'officeCode' , 'tipo' => 'pesquisa' , 'title' => 'Office' / / Pesquisa de campo parmetros especficos , 'lookup_table' => 'escritrios' , 'key_field' => 'officeCode' , 'values_field' => 'addressLine1' ) , matriz ( 'Nome' => 'email' , 'tipo' => 'input' , 'title' => 'E-mail' ) , matriz ( 'Nome' => 'is_contractor' , 'tipo' => 'check' , 'title' => ' contratante ) , matriz ( 'Nome' => 'jobTitle' , 'tipo' => 'input' , 'title' => 'Cargo' , 'list_mode' => 0 ) , matriz ( 'Nome' => 'gesto' , 'tipo' => 'gesto' , 'title' => 'Aes' , 'delete_link' => '/ index.php pgina? = delete_employee , 'edit_link' => '/ index.php pgina? = edit_employee & , 'non_db' => 1 , 'single_mode' => 0

* '

* '

& id = *

id = *'

56 57 58

);

Tabela $ varivel deve ser atribudo ao nome de sua tabela de banco de dados que voc precisa para criar o painel de administrao para. varivel $ campos uma matriz de campos, que sero utilizados para exibir dados. Como voc pode ver cada campo tem alguns parmetros obrigatrios, tais como tipo, nome e ttulo. Existem tambm outros parmetros que podem ser aplicadas para campos do tipo especfico ou campo de qualquer tipo. Voc tambm pode procurar a explicao detalhada de campos de dados parmetros do gerenciador . -Em seu cdigo php voc ter de incluir dados arquivo de classe gerente de us-lo, por exemplo:
?

include_once $ _SERVER [ "DOCUMENT_ROOT" ]. '/ data_manager / DataManager.

-Prximo passo adicionar chamadas de funes adequadas Data Manager dentro do seu cdigo php para fazer o trabalho. Para mostrar a lista de itens da tabela db:
?

1 2 3 4 5 6 7 8 9 10 11 12

$ Page = 1; $ Dm = novo DataManager ( "funcionrios" ); $ Dm -> setItemsPerPage (7); $ Dm -> setPage ( $ page ); $ Dm -> setMode ( 'lista' ); $ Dm -> setOrderingField ( 'employeeNumber' ); se ( $ dm -> loadData () === false) { var_dump ( $ dm -> getErrors ()); sada ; } $ Ttulos = $ dm -> getTitles (); $ Campos = $ dm -> GetFields ();

Depois de executar este cdigo varivel $ ttulos conter srie de ttulos de campos para exibir e varivel $ campos conter matriz, cada item que ir conter um cdigo html de um campo. Ento voc pode usar cdigo semelhante a este para exibir tabela com lista de linhas da tabela db.
?

1 2 3 4 5 6

<Borda da tabela = "1" > <tr> <? Php foreach ( $ ttulos como ttulo $ ) {> <td> <php? echo $ titulo ;?> </ td> <? Php}>

7 8 9 10 11 12 13 14 15 16 17

</ Tr> <? Php foreach ( $ campos como $ linha ) {> <tr> <? Php foreach ( $ linha como campo $ ) {> <td> <php? echo $ campo ;?> </ td> <? Php}> </ Tr> <? Php}> </ Table>

Ento, o seguinte, voc pode usar este cdigo para exibir lista de campos para editar ou criar linha nica tabela db:
?

1 2 3 4 5 6 7 8 9 10 11 12 13

$ Id = (int) (isset ( $ _GET [ 'id' ])? $ _GET [ 'id' ]: 0); $ Dm = novo DataManager ( "funcionrios" ); se ( $ id ) { $ Dm -> setKeyValue ( $ id ); } $ Dm -> setMode ( 'single' ); se ( $ dm -> loadData () === false) { var_dump ( $ dm -> getErrors ()); sada ; } $ Ttulos = $ dm -> getTitles (); $ Campos = $ dm -> GetFields (); $ Campos = $ campos [0];

Como voc pode ver, o cdigo muito semelhante, mas desta vez precisamos definir 'single' em vez de 'lista' modo e atribuir db valor ID da tabela para obter linha adequada. Cdigo para insero / atualizao / excluso de dados ainda mais fcil:
?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

/ / Insero / atualizao de linha $ Dados = $ _POST ; $ Dm = novo DataManager ( "funcionrios" ); se ( $ dm -> save ( $ dados ) === false) { var_dump ( $ dm -> getErrors ()); sada ; } / / Excluso de linha $ Id = (int) (isset ( $ _GET [ 'id' ])? $ _GET [ 'id' ]: 0); $ Dm = novo DataManager ( "funcionrios" ); se ( $ dm -> apagar ( $ id ) === false) { var_dump ( $ dm -> getErrors ()); sada ; }

Na internet voc pode encontrar alguns desenhos para o seu painel de administrao e torn-la melhor, gerente de dados vai cuidar do resto! Em breve vou postar mais tutoriais para uso avanado do gerenciador de dados e explicao dos campos Data Manager. Portanto, tenha em toque!

Criando CRUD painel de administrao em CodeIgniter


POR A N D R E Y EM 0 5 D E D E Z E M B R O D E 2 0 1 1 1 3 C O M E N T R I O S

Mais cedo eu mostrei como criar um painel de administrao CRUD usando php simples .Neste artigo vou explicar como voc pode fazer isso usando CodeIgniter. Passos, ser praticamente o mesmo, ainda mais fcil, porque eu j escrevi arquivos que ir automatizar a maioria das peas para CodeIgniter. Vamos dizer que temos de criar um painel de administrao para um eCommerce site, temos um produtos e categorias db tabelas e precisamos criar um painel de administrao CRUD para os produtos.

Ento, vamos comear!


- Primeiro, baixar e instalar o CodeIgniter (Eu vou estar usando CodeIgniter 2.1.0 neste tutorial). Certifique-se que voc definir suas configuraes de conexo de banco de dados / application / config / database.php e incluiu 'banco de dados' lista de bibliotecas que sero carregados automaticamente em / application / config / autoload.php, que tambm vai precisar de ajudante 'url', por favor, adicione-o autoload tambm. - biblioteca gerente de download dos dados , extrair o contedo do arquivo na pasta raiz e renomear pasta extrada para dizer 'data_manager'. - Substitua / data_manager / params.php com um de este arquivo . Ele vai fazer gerente de dados recuperar as configuraes de conexo de banco de dados e de arquivos de configurao daseurl CodeIgniter. - O prximo passo a criao de arquivo de dados perfil do gestor que vai dizer o que exatamente Dados gerente que precisamos fazer. Por tabela nossos "produtos" db, vamos criar um data_manager / / profiles / arquivo de perfil products_admin.php com seguinte contedo:
?

1 2 3 4 5 6 7 8 9 10 11

<? Php $ Tabela = "produtos" ; $ Campos = matriz ( matriz ( 'Nome' => 'id' , 'tipo' => 'chave' , 'title' => 'ID' ) , matriz ( 'Nome' => 'ProductCode'

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

, 'tipo' => 'input' , 'title' => 'Cdigo' ) , matriz ( 'Nome' => 'productName' , 'tipo' => 'input' , 'title' => 'Nome' , 'is_link' => 1 , 'link' => '/ produtos / edio / *' ) , matriz ( 'Nome' => 'category_id' , 'tipo' => 'pesquisa' , 'title' => 'Categoria' / / Pesquisa de campo parmetros especficos , 'lookup_table' => 'categorias' , 'key_field " => "id" , 'values_field' => 'ttulo' ) , matriz ( 'Nome' => 'productScale' , 'tipo' => 'lista' , 'title' => 'Escala' , 'items' => matriz ( "01:10" => "1:10 (mnimo)" , "1:12" => "1:12 (pequena)" , "1:18" => "1:18 (mdia)" , "01:24" => "1:24 (grande)" , "1:32" => "1:32 (mxima)" ) , 'list_mode' => 0 ) , matriz ( 'Nome' => 'ProductDescription' , 'tipo' => 'textarea' , 'title' => 'Descrio' , 'linhas' => 5 , 'cols' => 60 , 'list_mode' => 0 ) , matriz ( 'Nome' => 'buyPrice' , 'tipo' => 'input' , 'title' => 'Preo' , 'css_class' => 'product_price' ) , matriz ( 'Nome' => 'is_active' , 'tipo' => 'check' , 'title' => 'ativa' ) , matriz (

64 65 66 67 68 69 70 71 72 73

) );

'Nome' => 'gesto' , 'tipo' => 'gesto' , 'title' => 'Aes' , 'delete_link' => '/ produtos / apagar / *' , 'edit_link' => '/ produtos / edio / *' , 'non_db' => 1 , 'single_mode' => 0

Tabela $ varivel est dizendo gerenciador de dados que iremos trabalhar com a tabela 'produtos' db. varivel $ campos matriz de campos que sero utilizados para o nosso painel de administrao. O que cada campo se voc pode ver resultado, os parmetros so auto-explicativos, mas voc tambm pode olhar para explicao detalhada de campos de dados parmetros do gerenciador . - O prximo passo a criao de controlador e pontos de vista. Baixe arquivo com o controlador da amostra e pontos de vista e extra-lo para a pasta / aplicao. - Renomear arquivo controlador e pasta dentro de exibio de pasta de 'sample_controller' para um nome de controlador que voc deseja usar. Em caso fora vamos usar "produtos" nome do controlador. Depois que o arquivo controlador aberto (/ application / controllers / products.php), renomear nome da classe controlador para 'Produtos' e altere o valor para $ classe varivel dm_profile ao nosso nome do perfil Data Manager ( 'products_admin') para torn-lo parecido com este:
?

1 2 3 4 5 6 7

<? Php include_once BasePath. '/ data_manager / DataManager.php.. " ; classe Produtos estende CI_Controller { privado $ dm_profile = 'products_admin' ; privado controlador $ = '' ; ...

E isso!
Voc est perguntando "Soooo fcil?" - Sim, to fcil! Ento, se voc acessar http://your_domain/products voc vai ver algo como isto: E se voc clique no link "Editar" na frente de qualquer item ou ttulo do item que voc vai ver isso:

Aqui voc pode baixar fontes completas do projeto demo com um banco de dados. Voc pode mudar os controladores e arquivos de vistas para fazer este painel de administrao olhar e trabalhar mais como voc quer olhar, apenas uma demo que mostra o uso de base de dados biblioteca gerente . Ento, manter contato com novos tutoriais e novas verses do Gerenciador de dados.

Explicando dados parmetros de campo gerente


POR A N D R E Y EM 0 1 D E D E Z E M B R O D E 2 0 1 1 4 C O M E N T R I O S

Aqui est a explicao para os parmetros mais utilizados: nome - para a maioria dos campos (que no tm 'non_db' => parmetro 1) este parmetro significa nome do campo do banco de dados da tabela que ser utilizado para salvar informaes deste campo.Tipo - este tipo de campo que vai ser usado. Tipos de campo mais utilizados so de entrada, chave, pesquisa, verificar, textarea, gesto, lista. Para a lista completa de tipos de campo que voc pode olhar / data_manager / arquivo logic_fields.php, vou postar tambm tutoriais para alguns deles em meu blog. ttulo -. ttulo do texto que ser usado para exibir esse campo no painel de administrao css_class - usado por alguns campos para definir css classe de um objeto html que est associado com o campo.list_mode - se definido como 0, este campo no ser mostrado ao exibir lista de itens de banco de dados tabela (primeira imagem). single_mode - se definido como 0 , este campo no ser mostrado ao exibir nico banco de dados informaes linha da tabela (segunda imagem). non_db - se definido como 1, este campo no ser associado a qualquer campo da tabela do banco de dados e gerente no vai salvar automaticamente qualquer informao deste campo . Tambm se non_db definido como 1, 'nome' parmetro torna-se intil. is_link - parmetro pode ser usado apenas por campos com 'input' tipos e 'pesquisa'. Se definido como 1, texto, de campo a um link que aponta para pgina diferente. ligao - parmetro pode ser usado apenas por campos com 'input' tipos e 'pesquisa'. Ele define padro para o link que aponte para a pgina de edio de uma nica linha. Smbolo de estrela (*) est sendo substitudo pelo gerente de dados para um valor de um campo com o tipo de "chave" da mesma linha db tabela, basicamente substitudo por id db linha da tabela. delete_link e edit_link - parmetros podem ser utilizados apenas por campos com 'gesto' tipo. Similar ao parmetro 'link', este parmetros definem padres de conformidade para a excluso ea edio de uma nica linha db mesa. Parmetros lookup_table , key_field e values_field pode ser usado apenas por campos com tipo 'pesquisa'. Eles so bastante auto-explicativo, mas eu poderia escrever sobre eles mais tarde.

Vous aimerez peut-être aussi