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

(Resolvido) Insterir varios valores de uma vez


Guest --Marco --

Pergunta

Guest --Marco --

Olá a todos.

Tenho uma pagina onde existe uma tabela com alguns campos.

(PLU, PLU interno, Descrição, Tipo de embalagem, Quantidade).

Só que estou tendo dificuldades de salvar esses valores.

A ideia é usar o checkbox para selecionar o que eu quero...alterar e salvar.

Segue o código

if(isset($_POST['pesquisar'])){
    
    $pg_db = pg_connect("host=postgresql01.cotaki.com.br dbname=cotaki1_2 port=5432 user=cotaki1_2 password=e9c3a0f7b1")or die("Conexão falhou.");
    switch($_POST['campo']){
    case 1:
    $query=pg_query($pg_db,"select \"MixGlobal\".\"CodigoPlu\", \"TabelaEans\".\"CodigoEan\" ,
\"MixGlobal\".\"DescricaoPlu\"
from cotaki.\"MixGlobal\" inner join cotaki.\"TabelaEans\" 
on cotaki.\"TabelaEans\".\"CodigoPlu\" = cotaki.\"MixGlobal\".\"CodigoPlu\"
where \"MixGlobal\".\"CodigoPlu\" like '".strtoupper($_POST['dados'])."%'"
                            );
    break;                        
    case 2: 
    $query=pg_query($pg_db,"select \"MixGlobal\".\"CodigoPlu\", \"TabelaEans\".\"CodigoEan\" ,
\"MixGlobal\".\"DescricaoPlu\"
from cotaki.\"MixGlobal\" inner join cotaki.\"TabelaEans\" 
on cotaki.\"TabelaEans\".\"CodigoPlu\" = cotaki.\"MixGlobal\".\"CodigoPlu\"
where \"MixGlobal\".\"DescricaoPlu\" like '".strtoupper($_POST['dados'])."%'"
                            );    
    break;                        
    case 3: 
     $query=pg_query($pg_db,"select \"MixGlobal\".\"CodigoPlu\", \"TabelaEans\".\"CodigoEan\" ,
\"MixGlobal\".\"DescricaoPlu\"
from cotaki.\"MixGlobal\" inner join cotaki.\"TabelaEans\" 
on cotaki.\"TabelaEans\".\"CodigoPlu\" = cotaki.\"MixGlobal\".\"CodigoPlu\"
where \"TabelaEans\".\"CodigoEan\" like '".strtoupper($_POST['dados'])."%'"
                            );
                    
     break;
    }    
      $linhas=pg_num_rows($query);
      if($linhas>0){
        echo"<table width=\"534\" border=\"1\">
             <tr>
             <td></td>
             <td align=\"center\">Código Plu</td>
             <td align=\"center\">Plu Interno</td>
             <td align=\"center\">Descrição</td>
             <td align=\"center\">Tipo Embalagem</td>
             <td align=\"center\">Qtd por embalagem</td>
             </tr>";
             
    while($result=pg_fetch_assoc($query)){
            echo"
               <form action=\"?q=cadastro_mix\" name=\"insere_mix\" method=\"post\">
               <tr>
                <td><input type=\"checkbox\" name=\"select[]\" value=\"".$result['CodigoPlu']."\"></td>
                  <td align=\"center\">".$result['CodigoPlu']."</td>
                  <td><input type=\"text\" maxlength=\"8\" size=\"8\" name=\"plu_interno[]\"></td>
                   <td align=\"center\">".$result['DescricaoPlu']."</td>
                    <td align=\"center\"><select name=\"emba[]\">
                                         <option value=\"1\">KG</option>
                                         <option value=\"2\">Cx</option>
                                         <option value=\"3\">Un</option>
                                         <option value=\"4\">Fardo</option>
                                         </select>
                    </td>
                    <td align=\"center\"><input type=\"text\" maxlength=\"5\" name=\"qtd_embalagem[]\" size=\"5\"></td>";
    }        
                echo"</tr>
                     </table>
                     <div align=\"center\">
                      <input type=\"submit\" name=\"Grava\" value=\"Gravar\">
                      </div></form>
                     
                      ";
    } else{
         echo"<script>
              window.alert(\"Nenhum Registro encontrado\");
              window.history.back(-1);
              </script>";
    
    }                 
    
    pg_free_result($query);
    pg_close($pg_db);
    
    }
      if(isset($_POST['Grava'])){
      $a=0;
       $i=0;
      $d=sizeof($_POST['select']);
     
     while($a<$d){
      foreach($_POST['emba'] as $embalagem){
            
       echo "<br>";
             $i++;
           }
           echo "".$_POST['select'][$a]." e $embalagem";///nesse while eu travei...
        $a++;
          
        }
      }
    ?>

Se quiserem visualizar a pagina http://www.cotaki.com.br/drupal/?q=cadastro_mix.

Selecionando a opcao de pesquisa descrição...digite "A" que os produtos vão aparecer.

Agradeço desde já a atenção.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Em primeiro lugar, você está criando várias vezes o cabaçelho form, o que pode trazer problemas em alguns navegados:

<form action="?q=cadastro_mix" name="insere_mix" method="post">

<tr>

<td><input type="checkbox" name="select[]" value="5"></td>

<td align="center">5</td>

<td><input type="text" maxlength="8" size="8" name="plu_interno[]"></td>

<td align="center">ARROZ PATEKO 5KG TP1</td>

<td align="center"><select name="emba[]">

<option value="1">KG</option>

<option value="2">Cx</option>

<option value="3">Un</option>

<option value="4">Fardo</option>

</select>

</td>

<td align="center"><input type="text" maxlength="5" name="qtd_embalagem[]" size="5"></td>

<form action="?q=cadastro_mix" name="insere_mix" method="post">

<tr>

<td><input type="checkbox" name="select[]" value="6"></td>

<td align="center">6</td>

<td><input type="text" maxlength="8" size="8" name="plu_interno[]"></td>

<td align="center">ARROZ PATEKO 5KG TP2</td>

<td align="center"><select name="emba[]">

<option value="1">KG</option>

<option value="2">Cx</option>

<option value="3">Un</option>

<option value="4">Fardo</option>

</select>

</td>

<td align="center"><input type="text" maxlength="5" name="qtd_embalagem[]" size="5"></td>

Em segundo lugar, você vai ter que mudar a parte dos select e dos input text, pois os checkboxs só existem quando são selecionados, por outro lado, mesmo que você não escreva nada em um input text ou não selecione nada em um select, eles vão existir no action do formulário, então eles terão que seguir algo do gênero (adpatado do código acima..

<tr>

<td><input type="checkbox" name="select[]" value="6"></td>

<td align="center">6</td>

<td><input type="text" maxlength="8" size="8" name="plu_interno[6]"></td>

<td align="center">ARROZ PATEKO 5KG TP2</td>

<td align="center"><select name="emba[6]">

<option value="1">KG</option>

<option value="2">Cx</option>

<option value="3">Un</option>

<option value="4">Fardo</option>

</select>

</td>

<td align="center"><input type="text" maxlength="5" name="qtd_embalagem[6]" size="5"></td>

Note que ali eu atribui os índices pros futuros array igual ao valor que o checkbox vai receber, assim você vai conseguir ligar tudo, com isso você nem precisa de sizeof e etc, basta por o $_POST['select'] no foreach, assim você já sabe os checkboxs que foram selecionados e já tem o índice dos outros arrays a que pertence a aquele checkbox...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Marco --

Oi ESerra.

Eu adaptei da maneira que voce mostrou. (se eu entendi bem ..é claro)

if($linhas>0){
        echo"<table width=\"534\" border=\"1\">
             <tr>
             <td></td>
             <td align=\"center\">Código Plu</td>
             <td align=\"center\">Plu Interno</td>
             <td align=\"center\">Descrição</td>
             <td align=\"center\">Tipo Embalagem</td>
             <td align=\"center\">Qtd por embalagem</td>
             </tr>";
             
    while($result=pg_fetch_assoc($query)){
            echo"
               <form action=\"?q=cadastro_mix\" name=\"insere_mix\" method=\"post\">
               <tr>
                <td><input type=\"checkbox\" name=\"select[]\" value=\"".$result['CodigoPlu']."\"></td>
                  <td align=\"center\">".$result['CodigoPlu']."</td>
                  <td><input type=\"text\" maxlength=\"8\" size=\"8\" name=\"plu_interno[".$result['CodigoPlu']."]\"></td>
                   <td align=\"center\">".$result['DescricaoPlu']."</td>
                    <td align=\"center\"><select name=\"emba[".$result['CodigoPlu']."]\">
                                         <option value=\"1\">KG</option>
                                         <option value=\"2\">Cx</option>
                                         <option value=\"3\">Un</option>
                                         <option value=\"4\">Fardo</option>
                                         </select>
                    </td>
                    <td align=\"center\"><input type=\"text\" maxlength=\"5\" name=\"qtd_embalagem[]\" size=\"5\"></td>";
    }        
                echo"</tr>
                     </table>
                     <div align=\"center\">
                      <input type=\"submit\" name=\"Grava\" value=\"Gravar\">
                      </div></form>
                     
                      ";
    } else{
         echo"<script>
              window.alert(\"Nenhum Registro encontrado\");
              window.history.back(-1);
              </script>";
    
    }                 
    
    pg_free_result($query);
    pg_close($pg_db);
    
    }
      if(isset($_POST['Grava'])){
      $i=0;
     foreach($_POST['select'] as $selecionado){
     foreach($_POST['emba'] as $embalagem){
     
      $i++;
     
     }
     echo $embalagem;
     $i++;
     
     }

Mas não entendi como posso referenicar os outrs arrays ao checkbox selecinado...

Tentei usando o foreach da maneira acima ...mas não deu certo.

O que está errado.?

Link para o comentário
Compartilhar em outros sites

  • 0

Abaixo um exemplo pra você entender a lógica...

<?php

if(!isset($_POST['Grava'])){
echo "<form action=\"?q=cadastro_mix\" name=\"insere_mix\" method=\"post\">Selecione os checkboxes e digite valores<BR><BR>";
for($i=1;$i<=5;$i++){
echo "Valor $i: <input type=\"checkbox\" name=\"select[]\" value=\"$i\"> - <input type=\"text\" maxlength=\"8\" size=\"8\" name=\"plu_interno[$i]\"><BR><BR>";
}
echo "<input type=\"submit\" name=\"Grava\" value=\"Gravar\"></form>";
}else{
echo "Só vão aparecer os checkboxes selecionados...<BR><BR>";

foreach($_POST['select'] as $indice){
echo $indice.' - '.$_POST['plu_interno']["$indice"].'<BR>';
}
}
?>

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,5k
    • Posts
      652,6k
×
×
  • Criar Novo...