Ir para conteúdo
Fórum Script Brasil
  • 0

Script para criar tabela mysql


marycdb

Pergunta

Olá! Sou iniciante em php e estou tentando desenvolver meu primeiro projeto pessoal em php. A dúvida está em um script php para criar uma tabela mysql. Tenho o seguinte script:

<?php
include_once("conexao.php");

    $query_create_table = "CREATE TABLE IF NOT EXISTS minha_tabela (
                            id int AUTO_INCREMENT PRIMARY KEY,
                            nome varchar(60) NOT NULL,
                            email varchar(60) NOT NULL)"
    or die("Error in the create table ... " . $conexao->connect_error);
    $result_create_table = $conexao->query($query_create_table);
    if($result_create_table == TRUE)
    {
        echo "<p>criou a tabela</p>";
    }
    else
    {
        echo "<p>não criou a tabela</p>";
    }
?>

O que preciso fazer é substituir o nome da tabela (minha_tabela) por uma variável cujo objetivo é permitir que na hora de criar a tabela o usuário do sistema possa ele próprio escolher o nome da tabela através de input em um formulário. O form eu já tenho e o script acima funciona perfeitamente, só não sei como substituir o nome da tabela no script por uma variável. Já tentei algumas coisas, mas no meu ainda modesto conhecimento não obtive sucesso. Já tentei das formas abaixo (também usando parênteses, aspas simples e duplas, etc) mas não funcionou:

<?php
include_once("conexao.php");

$tabela = filter_input (INPUT_POST, 'tabela', FILTER_SANITIZE_STRING);

    $query_create_table = "CREATE TABLE IF NOT EXISTS $tabela (
                            id int AUTO_INCREMENT PRIMARY KEY,
                            nome varchar(60) NOT NULL,
                            email varchar(60) NOT NULL)"
    or die("Error in the create table ... " . $conexao->connect_error);
    $result_create_table = $conexao->query($query_create_table);
    if($result_create_table == TRUE)
    {
        echo "<p>criou a tabela</p>";
    }
    else
    {
        echo "<p>não criou a tabela</p>";
    }
?>

Poderiam me ajudar? Obrigada!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá, se eu bem entendi você quer que seus usuários escolha o nome de uma tabela para o banco de dados, não sei o grau de seu conhecimento, mas não aconselho deixar isso dinâmico a não ser que saiba como recuperar de forma dinâmica também ,o que é bem complicado.

Editado por marcoscasagrande
Link para o comentário
Compartilhar em outros sites

  • 0

Olá Marcos, obrigada pela sua resposta. Não tenho muitos conhecimentos em php, mas talvez eu não tenha explicado corretamente o que preciso. Na verdade o que preciso é que os usuários possam optar em enviar seus dados para a tabela A ou para a tabela B ou para a tabela C. Só que elas ainda não existem, seriam criadas no momento da escolha. Os usuários teriam um campo tipo "select" no formulário para definir a escolha da tabela entre algumas opções de nomes disponíveis. Outra opção minha, talvez, seja criar antecipadamente essas tabelas (A, B, C, etc) e o usuário só escolher para qual delas deseja enviar seus dados. É possível fazer isso através de um único formulário e script? Ou seja, substituir no script de INPUT o nome da tabela fixo por um nome obtido em um formulário via select? Obrigada. :)

Link para o comentário
Compartilhar em outros sites

  • 0
Em 17/08/2020 em 16:13, marycdb disse:

Olá Marcos, obrigada pela sua resposta. Não tenho muitos conhecimentos em php, mas talvez eu não tenha explicado corretamente o que preciso. Na verdade o que preciso é que os usuários possam optar em enviar seus dados para a tabela A ou para a tabela B ou para a tabela C. Só que elas ainda não existem, seriam criadas no momento da escolha. Os usuários teriam um campo tipo "select" no formulário para definir a escolha da tabela entre algumas opções de nomes disponíveis. Outra opção minha, talvez, seja criar antecipadamente essas tabelas (A, B, C, etc) e o usuário só escolher para qual delas deseja enviar seus dados. É possível fazer isso através de um único formulário e script? Ou seja, substituir no script de INPUT o nome da tabela fixo por um nome obtido em um formulário via select? Obrigada. 🙂

Olá,

 

Um possibilidade de ser feito, seria como você disse.

Criar as tabelas A, B e C.

Na página onde está o formulário, criar os <select> para cada opção um valor, A, B e C.

No código onde faz o processamento, coloquei um if.

   - Se for A, coloque a linha de comando para a tabela A

   - Se for B, coloque a linha de comando para a tabela B

   - Se for C, coloque a linha de comando para a tabela C.

Não sei se seria o melhor a fazer, mas assim funcionaria.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...