Ir ao conteúdo
  • Cadastre-se

MySQL / PHP Criar tabela usando dados enviado pelo _GET


Posts recomendados

Bom Dia!

 

Estou com dificuldades para criar uma tabela no MySQL usando dados que retornam de um formulário.

 

Usando um "foreach" eu consigo ver todos os dados do formulário com seus valores:

foreach($_POST as $nome_campo => $valor) {     $comando = $nome_campo . " int(11) NOT NULL," ;     echo "<pre>".($comando);  }

com esse comando obtenho um resultado parecido com esse:

CODIGO_OS  int(11) NOT NULL,LABORATORIO int(11) NOT NULL,FREQUENCIA int(11) NOT NULL,ID int (11) NOT NULL,OSSEQ int(11) NOT NULL,DATA int(11) NOT NULL,HORA int(11) NOT NULL,MINUTO int(11) NOT NULL,item_1_1  int(11) NOT NULL,item_1_2 int(11) NOT NULL,item_1_3 int(11) NOT NULL,item_1_4 int(11) NOT NULL,item_15_6 int(11) NOT NULL,

...

 

Queria usar esses dados para criar uma tabela no BD, Ex.:

 $sql="    CREATE TABLE IF NOT EXISTS TESTE   (       CODIGO int(11) NOT NULL AUTO_INCREMENT,       DATACAD datetime DEFAULT NULL,      ".print $comando."       PRIMARY KEY (`CODIGO`)   )   ENGINE=MyISAM DEFAULT CHARSET=latin1;";

Sei que assim não funciona, é só uma ideia, já tentei de várias maneiras, procurei nos fóruns e não encontrei nada relativo.

 

É possível criar essa tabela usando dados do $_GET?

 

Precisaria disto porque dependendo do serviço o cliente pode inserir mais campos no formulário, aí minha tabela seria alterada ou criada uma nova.

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

Olá Dif

Boa tarde!

 

Não há problema.

Trabalhamos juntos eu e o cliente, ele acesa o administrativo do mysql com usuário e senha, ou passa para mim as modificações.

O Usuário final utiliza somente o formulário já pronto.

Esse "softer" via web, administra serviços de manutenções preventivas em equipamentos.

Cada equipamento é uma sequencia de dados diferentes a serem verificados e inseridos no BD.

 

Funcionamento:

Um Formulário (de uso do proprietário ) cria automaticamente outro formulário com os dados de um certo equipamento, para depois ser preenchido pelo funcionário na hora de fazer a manutenção.

 

Nessa página é criado automaticamente o: "tipo de campo",  "Tamanho do Campo", "valor do campo", "tipo de dado", etc. para criar o Banco de Dados.

 

Nessa hora é que me "enrosquei", não consigo criar o create table para enviar para o bd

 

Obrigado pelo retorno

Link para o comentário
Compartilhar em outros sites

  • Moderador

Mas então, ratifico o que eu disse mais acima. O jeito que você está tentando fazer VAI uma hora, causar uma inconsistência de dados, duplicações em excesso e outro problemas.

Você precisa antes de pensar no back-end(php) modelar seu banco de forma apropriada.

 

A questão é que você deve permitir que o usuário possa inserir N registros na tabela.. mas NUNCA modificar esta tabela.

Isso se dá porque a cada vez que o usuário "cria a tabela"  enchendo esta tabela de dados que podem ser repetidos... as consultas se tornarão lentas. muito lentas.

 

Também deves pensar nos relacionamentos e respeitar as normas formais. e utilize a engine innoDB.

Concluindo, seu banco de dados TEM um sério problema de inconsistência de dados.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...