Jump to content
  • 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

Recommended Posts

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?

Share this post


Link to post
Share on other 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."

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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>

Edited by brunoais
geshi

Share this post


Link to post
Share on other 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)

Edited by 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%.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Edited by MaFotec

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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>

Edited by brunoais
geshi

Share this post


Link to post
Share on other 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;


    ?>

Edited by brunoais
geshi

Share this post


Link to post
Share on other 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%.

Share this post


Link to post
Share on other 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']

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.