Quando você usa algo como phpMyAdmin para trabalhar com dados no banco de dados, é sempre inconveniente que o campo vinculado exiba apenas um número de outra tabela, em vez dos dados específicos ocultos.
Por exemplo, o campo `country_id` contém números, não o nome do país. Temos que pular de mesa em mesa. Ou escreva um sql separado, o que geralmente é inconveniente se necessário para um rápido. Ou disque a consulta sql do telefone com as mãos. E se você precisar atualizar o país a partir do campo `country_id`, pule novamente de tabela em tabela. Em resumo - tudo isso é inconveniente.
Era mais fácil mostrar no formato:
Was
Tornou-se
Desafio
Faça uma configuração simples para os campos base exibirem dados relacionados de outras tabelas. E para que eles possam ser atualizados ali mesmo.
Solução
Essa tarefa me atormentou há muito tempo, pela natureza do meu negócio de desenvolvimento web. Havia várias abordagens para o projétil, como resultado, decidi pela solução mais simples que consegui encontrar. E o mais importante, que eu gostaria de me usar, e não resolver o problema abstrato dos usuários abstratos.
O resultado é um site
DataIncrement.comComo o DataIncrement funciona
- Conectamos nosso banco de dados ao DataIncrement usando host , nome , passe , dbname (a senha é armazenada nos cookies do navegador ou na sessão, ou seja, não é armazenada no site, se houver). Você deve ter um usuário capaz de se conectar a partir de qualquer host.
- O registro de todas as ações ocorre através da confirmação por correio. Talvez essa seja uma decisão controversa, mas até agora. Portanto, vamos ao correio e clicamos no link da carta. Assim, confirmamos a conexão.
- Depois disso, você pode acessar a lista de bancos de dados conectados, na página principal dataincrement.com
- Em seguida, clicamos no banco de dados conectado - esta será uma página com uma lista de todas as tabelas disponíveis.
- Em seguida, você precisa ir para a guia "Links" (o segundo link do nome da base "Base de exemplo" nas figuras "Foi o início"), onde você precisa configurar a conexão entre as tabelas para exibir os dados relacionados. Escrevendo texto não manhoso, por exemplo:
@link city country_id = country.country_id name region_id = region.region_id name
Onde:
- na primeira linha:
@link
é a designação da seção e city
é o nome da tabela - mais necessariamente a partir de uma nova linha e sempre recuado para a esquerda
- a descrição dos campos da tabela da cidade começa para a qual a exibição será configurada, ou seja,
country_id = country.country_id é o campo `city`.`country_id` = ` country`.`country_id` - mais necessariamente a partir de uma nova linha e um recuo mais profundo
- nome do campo para exibição adicional, ou seja, `country`.
Assim, obtemos a exibição da tabela na figura "Now", onde, além do valor real do campo, o valor do campo
`country`. Nome é exibido por ponto e vírgula. Da mesma forma, a configuração foi feita para outro campo
`region_id` , que é conectado como visto na configuração com o
campo` region```regreg_id` .

Edição
A edição dos dados é feita clicando duas vezes em uma célula da tabela. Então, na parte inferior da página, aparece especial. painel onde você pode alterar o valor e enviar dados para a alteração.
Além de editar campos simples, no futuro planejo pesquisar campos relacionados. Por exemplo, para alterar o país, você pode digitar uma parte do nome e o próprio ID desejado foi oferecido para preenchimento. Na verdade, esse é um recurso padrão de dicas ao digitar uma consulta de pesquisa.
Uma sintaxe semelhante será usada para configurar as consultas de pesquisa, como nas seções
@link
, apenas com a
@search
@search city country_id = country.country_id 10 name $*
onde a diferença é essa:
- a restrição de linhas retornadas é indicada, através do espaço - este é o número 10
country_id = country.country_id 10
- Além disso, os campos a serem exibidos são indicados, mas após um espaço, um padrão de pesquisa adicional é indicado, em que dólar $ é o valor inserido e um asterisco * - significa qualquer caractere.
Agora, tenho $ * indicado para o campo `country` .name`, ou seja, uma pesquisa por nome funcionará pelas letras iniciais das palavras no campo especificado.
Um modelo pode ter quatro opções: $ , * $ , $ * , * $ *
Conclusão
No momento, o site é um protótipo bastante funcional e pode ser mostrado sem vergonha à luz. O que realmente deu origem a esta nota.
Existem muitas idéias e planos, mas enquanto este projeto está sendo um hobby, as críticas são aceitas como alimento para o pensamento. Pelo menos para parar de fazer essas bobagens e começar a fazer outras bobagens.
A nota é escrita como uma tentativa de não entupir a página principal do DI com todos os tipos de “páginas de entrada” com uma descrição, não está claro o que, mas para que você possa fornecer um link para a descrição e o princípio de operação. Além disso, imediatamente com críticas independentes, da série - "eles disseram isso".