Jump to content
Fórum Script Brasil
  • 0

Insert Com Varios Dados


joaopaulovillela
 Share

Question

E ai galera bom,

Estou fazendo um sistema onde tenho que cadastrar varios produtos dentro de uma tabela.

Funciona no seguinte

Festa = 4

[] Algodão Doce

[] Pipoca

[] Crepe

[] Espetinho

[] Pizza

ai a pessoa escolhe quantos ele quiser, ai quando for inserir no banco de dados (MySql), quero gravar em uma coluna o primeiro com o código da festa e código do produto, e depois gravar de novo ate acabar todos o que ele escolheu

|id_festa|id_Produto|

|4|2|

|4|1|

|4|3|

Valews

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Simplesmente dá o mesmo nome para todos os ítens, tipo: cardapio[], ai fica assim o HTML:

<input type="checkbox" name="cardapio[]" value="1">Algodão Doce<br>

<input type="checkbox" name="cardapio[]" value="2">Pipoca<br>

<input type="checkbox" name="cardapio[]" value="3">Crepe<br>

<input type="checkbox" name="cardapio[]" value="4">Espetinho<br>

<input type="checkbox" name="cardapio[]" value="5">Pizza<br>

Ai no PHP você usa um laço ou forech para pegar tudo o que veio e inserir... tipo:

<?php
$tamanho = sizeof($_POST['cardapio']); //Aqui eu descubro quanto elementos foram selecionados...
$festa = $_POST['festa']; Aqui um input que veio com o número da festa
$contador = 0; //Aqui vai ser o índie do array cardapio...

while ($contador < $tamanho){
$item = $_POST['cardapio'][$contador];
mysql_query(INSERT INTO....);
$contador++;
}
?>

Essa é a lógica da coisa, não revisei para ver se tem algum erro...

Link to comment
Share on other sites

  • 0

Cadastra Produto

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="cadastrarvariosprodutos.php">
  <table width="100%" border="0">
    <tr>
      <th scope="col"> </th>
      <th scope="col">Cadastrando Funcionaria em Festa</th>

      <th scope="col"><input name="festa" type="hidden" id="festa" value="50" /></th>
    </tr>
    <tr>
      <th scope="row">Codi.</th>
      <td>Funcionaria</td>
      <td>Cadastrar </td>
    </tr>

        <tr>
      <th scope="row"><input type='checkbox' name='ids[]' value='2' id='ids[]'></th>
      <td>Cidinha</td>
      <td></td>
    </tr>
          <tr>
      <th scope="row"><input type='checkbox' name='ids[]' value='4' id='ids[]'></th>
      <td>Joao Paulo Paranahyba Villela</td>

      <td></td>
    </tr>
          <tr>
      <th scope="row"><input type='checkbox' name='ids[]' value='3' id='ids[]'></th>
      <td>Jordana</td>
      <td></td>
    </tr>
          <tr>

      <th scope="row"><input type='checkbox' name='ids[]' value='1' id='ids[]'></th>
      <td>Joyce Silva Barbosa</td>
      <td></td>
    </tr>
          <tr>
      <th scope="row"> </th>
      <td><input type="submit" value="Cadastrar" /></td>
      <td></td>

    </tr>
  
  </table>
</form>
</body>
</html>
Agora o PHP
<?php
    $dados = $_POST;
    include("conecta_db.php");
    conecta();
    if (!empty($dados['ids']))
    {

        $tamanho = count($_POST['ids']); //Aqui eu descubro quanto elementos foram selecionados...
        $festa = $dados['festa'];        // Aqui um input que veio com o número da festa
        $contador = 0;                  //Aqui vai ser o índie do array cardapio...
        while ($contador < $tamanho)
        {
        $item = $dados['ids'][$contador];
        mysql_query("INSERT INTO festa_func (Festa_id, Funcionario_Func_id ) VALUES ($dados[festa], $dados[ids])");
        $contador++;
        }

    }
    else 
        echo "E messesario selecionar itens para ser deletado(s).";

?>

Grato pela ajuda.
Link to comment
Share on other sites

  • 0

Amigo valeu mesmo me ajudou bastante mas so que agora estou querendo colocar valores para cada item,

Na primeira

<?php echo "<input type='checkbox' name='ids[]' value='$lista[id]' id='ids[]'  >" ?>
<?php echo "<input type='text' name='qtd[]' id='qtd[]' size='5' maxlength='5'/>" ?>
já no cadastro esta assim
$tamanho = count($dados['ids']); //Aqui eu descubro quanto elementos foram selecionados...
        $festa = $dados['festa'];          //Aqui um input que veio com o número da festa
        $contador = 0;                     //Aqui vai ser o índie do array cardapio...
        
        while ($contador < $tamanho)
            {
            $prod = $dados['ids'][$contador];
            $qtd = $dados['qtd'][$contador];
            $sql = "INSERT INTO festa_produto (festa, produto, qtd ) VALUES ($festa, $prod, $qtd )";
            mysql_query($sql);
            $contador++;
            }

Mas não esta indo o segundo produto somente o primeiro e que esta indo inda

Valeu novamente pela ajuda.

Edited by joaopaulovillela
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...