Skip to content

Instantly share code, notes, and snippets.

@juniorb2ss
Created January 25, 2014 17:32
Show Gist options
  • Save juniorb2ss/8620126 to your computer and use it in GitHub Desktop.
Save juniorb2ss/8620126 to your computer and use it in GitHub Desktop.
- Crie uma nova tabela `campos`.
- Nesta tabela, será responsável para armazenar todos os campos que serão pedidos ao inserir um novo animal.
- Estrutura da tabela:
`id` (auto_increment)
`id_grupo` ( se você tem algum controle de grupos, por exemplo (peixe = 3) você pode especificar que esses campos só serão usados quando for inserir novo tipo de especie de peixe)
`access` ( se você tiver niveis de permissão use este campo para definir que nível terá acesso a este campo, por exemplo: Admin pode adicionar o peso do peixe, mas um funcionário só poderá adicionar o nome e especie, já que ele terá nível de permissão menor do que estara definido aqui.
`name_input` ( valor do input )
`nome_campo` ( aqui você especifica o nome do campo, por exemplo: Nome, Idade, Peso e etc. )
`required` ( este campo vai ser obrigatório? )
`ativado` ( este campo esta ativado? )
Ao monta o formulário, você faz uma query
select * from campos WHERE access >= NIVEL_ACESSO_USUARIO and ativado = 1 AND id_grupo ID_GRUPO_DO_ANIMAL
o resultado desta query você faz um loop, criando todos os campos.
foreach ( a as b)
{
<input name = b[name_input] if(b[required]) echo 'required'> b[nome_campo] </input>
}
Este modo irá criar um formulário com todos os campos necessários para adicionar um novo animal.
Ao inserir o animal, você faz um outro foreach, verificando os campos informados se correpondem aos campos que estão na tabela campos.
Na tabela animais, você cria um campo: `valores`.
Ao inserir ou editar novo animal, você salva os valores dos campos em json_encode
exemplo: {"nome":"teste","peso":"555","idade":"55 anos"}
E e para mostrar, só pegar e mostrar quando for visto informação de algum animal.
Simples.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment