Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17583
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criando colunas e linhas dinamicamente no banco de dados

14-06-2014 00:40

Esse script que vou postar aqui permite ter uma tabela do banco de dados MySQL dinâmica. Ou seja, com esse script, você pode adicionar ou apagar novas colunas a uma tabela já existente. Também pode adicionar ou excluir novas linhas com valores na tabela. Tudo de forma dinâmica.

Você não precisa definir os campos para listar as colunas. Tudo é feito automaticamente.

Para adicionar uma nova coluna a tabela, observem esse link que há no script

<a href="<?php echo $pagina; ?>.php?acao=inserir_coluna&coluna=coluna3&comentario=Coluna três&apos=coluna2">INSERIR NOVA COLUNA</a>

O valor para comentario terá o efeito de nome da coluna para o script.

É necessário configurar essas 3 linhas no script

// SUA CONEXÃO COM O BANCO DE DADOS include("conecta.php"); // NOME DESSE DOCUMENTO $pagina = "teste2.php"; // NOME DA TABELA USADA $tabela = "tabela";

Para testar o script, insira esse SQL em sua tabela

CREATE TABLE IF NOT EXISTS `tabela` (   `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id*',   `coluna1` VARCHAR(10) NOT NULL COMMENT 'Coluna um',   `coluna2` VARCHAR(10) NOT NULL COMMENT 'Coluna dois',   PRIMARY KEY (`id`),   UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;   -- -- Extraindo dados da tabela `tabela` --   INSERT INTO `tabela` (`id`, `coluna1`, `coluna2`) VALUES (1, '1', '2');

Abaixo segue o script completo

<?php include("conecta.php"); // NOME DESSE DOCUMENTO $pagina = "teste2.php"; // NOME DA TABELA USADA $tabela = "tabela"; // INSERIR COLUNA if(isset($_GET['acao']) && @$_GET['acao']=="inserir_coluna") { mysql_query("ALTER TABLE `".$tabela."` ADD `".$_GET['coluna']."` VARCHAR(10) NOT NULL COMMENT '".$_GET['comentario']."' AFTER `".$_GET['apos']."`"); echo "<script>location.href='".$pagina."'</script>"; exit; } // EXCLUIR COLUNA if(isset($_GET['excluir_coluna']) && @$_GET['excluir_coluna']!="") { mysql_query("ALTER TABLE `".$tabela."` DROP `{$_GET['excluir_coluna']}`"); echo "<script>location.href='".$pagina."'</script>"; exit; } // EXCLUIR LINHA if(isset($_GET['acao']) && @$_GET['acao']=="excluir") { mysql_query("DELETE FROM `".$tabela."` WHERE id='{$_GET['id']}'"); echo "<script>location.href='".$pagina."'</script>"; exit; } // INSERIR LINHA if(isset($_POST['inserir']) && @$_POST['inserir']!="") { $colunas = Array(); $valores = Array(); foreach($_POST['linhas'] AS $l1 => $l2) { $colunas[] = $l1; $valores[] = "'$l2'"; } mysql_query("INSERT INTO ".$tabela." (".implode(",", $colunas).") VALUES(".implode(",", $valores).")"); echo "<script>location.href='".$pagina."'</script>"; exit; } // SALVAR OS DADOS if(isset($_POST['salvar']) && @$_POST['salvar']=="salvar") { $update = ""; $up = Array(); foreach($_POST['linhas'] AS $l1 => $l2) { $up[]="$l1='$l2'"; } $update.=implode(",", $up); mysql_query("UPDATE ".$tabela." SET ".$update." WHERE id='".array_values($_POST['linhas'])[0]."'"); echo "<script>location.href='".$pagina."'</script>"; exit; } echo "<form action=\"".$pagina."\" method=\"post\"> <table border=\"1\"> <tr> <td>Editar</td> <td>Excluir</td>"; $query=mysql_query("SELECT a.COLUMN_NAME, a.COLUMN_COMMENT FROM information_schema.COLUMNS a WHERE a.TABLE_NAME = '".$tabela."'"); $array_colunas = Array(); while($dados=mysql_fetch_array($query)) { extract($dados); $array_colunas[] = $COLUMN_NAME; echo "<td>$COLUMN_COMMENT <a href=\"".$pagina."?excluir_coluna=$COLUMN_NAME\">excluir coluna</td>"; } echo "</tr>"; $colunas = mysql_query("SELECT COUNT(*) AS colunas FROM information_schema.COLUMNS a WHERE a.TABLE_NAME = '".$tabela."'"); $query=mysql_query("SELECT * FROM ".$tabela.""); while($dados=mysql_fetch_array($query)) { echo "<tr> <td><a href=\"".$pagina."?acao=editar&id={$dados[0]}\">Editar</a></td> <td><a href=\"".$pagina."?acao=excluir&id={$dados[0]}\">Excluir</a></td>"; for($i = 0; $i < mysql_result($colunas , 0, "colunas"); $i++) { echo "<td>{$dados[$i]}</td>"; } echo "</tr>"; } echo "<tr> <td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"inserir\" value=\"Inserir Nova Linha\"></td>"; for($i = 0; $i < mysql_result($colunas , 0, "colunas"); $i++) { echo "<td><input type=\"text\" name=\"linhas[{$array_colunas[$i]}]\" value=\"\" placeholder=\"valores, coluna id = vazio\"></td>"; } echo "</tr>"; echo "</table></form>"; ?> <a href="<?php echo $pagina; ?>?acao=inserir_coluna&coluna=coluna3&comentario=Coluna três&apos=coluna2">INSERIR NOVA COLUNA</a> <br /><br /> <?php if(isset($_GET['acao']) && @$_GET['acao']=="editar") { echo "<form action=\"".$pagina."\" method=\"post\"><table> <tr>"; $query=mysql_query("SELECT a.COLUMN_NAME, a.COLUMN_COMMENT FROM information_schema.COLUMNS a WHERE a.TABLE_NAME = '".$tabela."'"); while($dados=mysql_fetch_array($query)) { extract($dados); echo "<td>$COLUMN_COMMENT</td>"; } echo "</tr>"; $query=mysql_query("SELECT * FROM ".$tabela." WHERE id='{$_GET['id']}'"); while($dados=mysql_fetch_array($query)) { echo "<tr>"; for($i = 0; $i < mysql_result($colunas , 0, "colunas"); $i++) { echo "<td><input type=\"text\" name=\"linhas[{$array_colunas[$i]}]\" value=\"{$dados[$i]}\"></td>"; } echo "</tr>"; } echo "</table><input type=\"submit\" name=\"salvar\" value=\"salvar\"></form>"; } ?>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Google [Bot]