Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

MaFotec

Varias tabelas apenas um botão Inserir

Mensagens Recomendadas

MaFotec

Boas,

Estou a fazer um projeto de inserção de dados,

como é que eu faço para inserir numa pagina apenas

com um botão Inserir fazer a inserção dados de todas as tabelas dessa mesma pagina?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

podes explicar melhor, o que pertendes?


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaFotec

tenho uma pagina de um formulário e tenho de preencher os campos de varias tabelas nesse mesmo, o que eu tenho é, por cada insert de dados de uma respetiva tabela tenho um botão inserir o problema é que tenho varias tabelas.

e quero apos preencher todos os campos de todas as tabelas ter apenas um botão insert para todo.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Da forma que inseres numa tabela, inseres noutra. É o mesmo processo. Qual é a dúvida ? :)


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaFotec

Na mesma pagina eu tenho uma tabela Informacaopessoal e outra tabela hobbies, faço a inserção dados da da tabela Informacaopessoal e tem um botão Inserir, de seguida faço a inserção dos dados

da tabela hobbies e tem um botão Inserir em seguida tem um botão Proximo (que passa para a fase seguinte) ou seja a minha duvida é possivel ao clicar no botão Proximo inserir os dados preenchidos anteriormente e assim acabar com os botoes Inserir?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

É como te disse, passas o código dos botões inserir para o botão próximo. Se no botão "próximos" tiveres dez inserções em tabelas diferentes ele insere.

Acho que é aí que está a tua duvida...


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaFotec

não é necessário que todos os inserts estejam dentro do mesmo form que tem o botão Proximo, porque eu tenho os inserts em forms separados?

O código do formulário é este:

<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
 <table align="center">
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Nome:</td>
     <td><input type="text" name="Nome" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Morada:</td>
     <td><input type="text" name="Morada" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">DataNascimento:</td>
     <td><input type="text" name="DataNascimento" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">EstadoCivil:</td>
     <td><input type="text" name="EstadoCivil" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">AgregadoFamiliar:</td>
     <td><input type="text" name="AgregadoFamiliar" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Email:</td>
     <td><input type="text" name="Email" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Idade:</td>
     <td><input type="text" name="Idade" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">NumeroFilhos:</td>
     <td><input type="text" name="NumeroFilhos" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Habilitacao:</td>
     <td><input type="text" name="Habilitacao" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">SituacaoEmprego:</td>
     <td><input type="text" name="SituacaoEmprego" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right"> </td>
     <td><input type="submit" value="Insert record" /></td>
   </tr>
 </table>
 <input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
<form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
 <table align="center">
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Observacao:</td>
     <td><input type="text" name="Observacao" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right"> </td>
     <td><input type="submit" value="Insert record" /></td>
   </tr>
 </table>
 <input type="hidden" name="MM_insert" value="form2" />
</form>
      <form method="POST" action="parte.php?seniorid=<?php echo $pessoa; ?>">
                <td><input type="submit" value="Proximo" name="submit" /></td>
                </form>

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

Conselho:

Não faças um site em HTML3. Isso já é coisa de século passado e o código HTML é muito confuso e muito extenso.

Fá-lo em HTML5 ou, se existir impedimento, faz em HTML4 strict (strict, não transitional)

Editado por brunoais

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaFotec

ok, pouco falta para acabar este projecto, depois começo a usar o HTML 5.

continuo sem perceber se é possível fazer o que pretendo, tem tentei de varias maneiras mas não consigo com

que funcione.

Alguém pode ajudar

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Eu já te expliquei, acho que não consigo ser mais claro.

Porque tens 3 forms ? Podes por um print da página para tentar perceber melhor ?


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaFotec

eu tenho 3 forms porque tenho um form para cada tabela e um para o botao Proximo

eu já consegui colocar um botão Inserir no botão Proximo numa das tabelas, mas ainda falta o outro botão, isto é que é a minha duvida.....

eee.php

Editado por MaFotec

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

O que queres é que ao carregar no botão próxima insira nas três tabelas, correto ?


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Wise

eu tenho 3 forms porque tenho um form para cada tabela e um para o botao Proximo

eu já consegui colocar um botão Inserir no botão Proximo numa das tabelas, mas ainda falta o outro botão, isto é que é a minha duvida.....

eee.php

Então em vez de teres 3 forms, ficas com uma form e dentro dessa form tens as várias tabelas.

O botão submit dessa única form vai inserir os registos todos de uma vez.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaFotec
O que queres é que ao carregar no botão próxima insira nas três tabelas, correto ?

sim...

eu já tentei usar apenas um form e colocar todas as tabelas dentro.....mas não funciona.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaFotec

fiz assim...mas nao funciona

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
 <table align="center">
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Nome:</td>
     <td><input type="text" name="Nome" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Morada:</td>
     <td><input type="text" name="Morada" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">DataNascimento:</td>
     <td><input type="text" name="DataNascimento" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">EstadoCivil:</td>
     <td><input type="text" name="EstadoCivil" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">AgregadoFamiliar:</td>
     <td><input type="text" name="AgregadoFamiliar" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Email:</td>
     <td><input type="text" name="Email" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Idade:</td>
     <td><input type="text" name="Idade" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">NumeroFilhos:</td>
     <td><input type="text" name="NumeroFilhos" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Habilitacao:</td>
     <td><input type="text" name="Habilitacao" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">SituacaoEmprego:</td>
     <td><input type="text" name="SituacaoEmprego" value="" size="32" /></td>
   </tr>
 </table>
 <input type="hidden" name="MM_insert" value="form1" />
   <table align="center">
   <tr valign="baseline">
     <td nowrap="nowrap" align="right">Hobbies:</td>
     <td><input type="text" name="hobbies" value="" size="32" /></td>
   </tr>
   <tr valign="baseline">
     <td nowrap="nowrap" align="right"> </td>
     <td><input type="submit" value="Proximo" /></td>
   </tr>
 </table>
 <input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>

<body>
</body>
</html>

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaFotec

este codigo?

    <?php
    //conectar ao servidor de dados.
    //se $ligax é zero então não fez ligação.
    $ligax = mysqli_connect('localhost', 'root');

    //seleccionar a BD.
    mysqli_select_db($ligax, 'mydb');


    //$par_pessoa=$_GET['pessoaid'];
    // enviar o comando para inserir.
    $nome = $_POST['nome'];
    $morada = $_POST['morada'];
    $DataNascimento = $_POST['DataNascimento'];
    $Idade = $_POST['Idade'];
    $EstadoCivil = $_POST['EstadoCivil'];
    $AgregadoFamiliar = $_POST['AgregadoFamiliar'];
    $Email = $_POST['Email'];
    $NumeroFilhos = $_POST['NumeroFilhos'];
    $Habilitacao = $_POST['Habilitacao'];
    $SituacaoEmprego = $_POST['SituacaoEmprego'];


    $sql = "INSERT INTO pessoa
    (
        nome,
        morada,
        DataNascimento,
        Idade,
        EstadoCivil,
        AgregadoFamiliar,
        Email,
        NumeroFilhos,
        Habilitacao,
        SituacaoEmprego,

    )
        VALUES
        (
        '$nome',
        '$morada',
        '$DataNascimento',
        '$Idade',
        '$EstadoCivil',
        '$AgregadoFamiliar',
        '$Email',
        '$NumeroFilhos',
        '$Habilitacao',
        '$SituacaoEmprego',

    )";


    $resultado = mysqli_query($ligax, $sql);

    $par_pessoa=mysqli_insert_id($ligax);

    if (!$resultado) {
        echo "<script> alert('ERRO!!')
    window.location='InformacaoPessoal.php?pessoaid=$par_pessoa';
    </script>";
    }
    {
        echo "<script>
    window.location='avaliacao.php?pessoaid=$par_pessoa';        
    </script>";
    }
    mysqli_close($ligax);
    echo $resultado;


    ?>

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

Oh dude!!!

Tanta coisa mal nem sei por onde começar...

1º Usa HTML4 strict ou HTML5. Não uses HTML2 nem HTML3. O HTML2/3 já estavam obsuletos no século passado.

2º Usa tabelas para tabelas, não para formatar (isso implica mudar para HTMl4 ou HTML5).

3º Usa CSS para formatar os aspeto disso.

4º Essas tabelas só estão a dar confusão. Arranja uma maneira melhor para isso!

5º Porque é que tens tanta tralha fora das tags <head> e <body>? Porque é que isso não está dentro das tags body como devia de estar?

6º As tags script fora das tags <head> ou <body> é inválido e pode dar resultados inesperados.

7º Nem toda a gente tem js ativado e exigir isso está errado.

8º Sofres do SQLInjection mais básico que existe. Existem maneiras muito fáceis de liverar dele, como usando prepared statements. Lê o manual do PHP sobre isso.

9º mysqli_query() retorna TRUE se a query correu bem ou FALSE se correu mal. É disso que estás à espera do $resultado? Não me parece.

10º Não verificas se há erros, limitas-te a avançar. Duvido que isso seja o que querias

Isto é o principal. Eu podia avançar para os pormenores, mas acho que é melhor resolver o principal primeiro


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
taviroquai

Simples... nos elementos html em vez de name="nome" usa array, assim name="form1[nome]" e metes esses inputs todos so num formulario.

No php vais receber assim $_POST['form1']['nome']

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.