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

Valor De Um Combo (<select>)


Icjunior

Pergunta

Bom dia a todos,

Sou novato em PHP e estou fazendo um sistema via WEB, e estou enfrentando a seguinte situacao:

Tenho uma tela onde o usuario faz uma pesquisa de produtos no meu banco de dados (PostgreSQL), ao aparecer os produtos, ele monta uma tela colocando os registros do resultado do select , um checkbox para cada produto encontrado e também um combo (<select>) para cada produto, onde dentro deste combo eu tenho um select de divisao de produtos (Ex.: perfumaria,bebidas,etc).

Para que o usuario continue a efetuar o cadastro, ele tem que escolher por meio do checkbox um ou mais itens e também escolher uma divisao dentro do combo.

So que quando eu escolho mais que um item , ao invés de me trazer o valor do combo para cada item , correspondente eu escolhi na tela do cadastro, ele aparece para cada item os dois valores dos combos,

Ex.:

tenho os seguintes produtos :

Codigo | Descricao | Checkbox | Combo

000123 | Maca Argentina | (Aqui entra o checkbox) Aqui entra o combo

000456 | Batata monalisa | (Aqui entra o checkbox) Aqui entra o combo

Se eu dou um echo na tela vem assim

000123 com o checkbox ticado e o departamento dos dois itens.

000456 com o checkbox ticado e o departamento dos dois itens.

alguém saberia como proceder para que apareca somente o departamento referente ao produto ticado?

Espero ter sido claro na explicacao,

Obrigado,

Junior

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Faça assim. No checkbox coloque ...

Onckeck="verificar()"
e depois ...
<script language="JavaScript">
function verificar()
{
   document.forms['nome_do_form'].submit();
   document.location.href="nome_da_pagina.php?check="+document.nome_do_form.nome_do_checkbox.value;
}
</script>
<select name="nome">
<?php
$var = $_GET['check'];
$sql = "SELECT * FROM tabela WHERE coluna = '$var'";
$consulta = mysql_query($sql);
$linhas = mysql_num_rows($consulta);
for($i=0;$i<$linhas;$i++)
{
   $nome = mysql_result($conulta,$i,"nome_da_coluna");
?>
<option value="<?php echo $nome; ?>">
<?php } ?>
</select>

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

  • 0

então cara, tentei fazer o que você me mandou , mas não deu muito certo.. pois ao carregar a pagina, ele esta trazendo o combo, mas ao clicar o onCheck não funciona, ai tentei mudar para onClick, então ele já chama a pagina, porem sem resultado

tentei colocar também um echo na variavel $var, e também não carrega.

Estou postando meu codigo para exemplificar meu problema.

echo "<form method=\"get\" action=\"\" name=\"produtos\">";
    echo "<table align=\"center\" border=\"0\" width=\"75%\">";
    echo "<tr>";
    echo "<td><div align=\"center\">Código Interno</div></td>";
    echo "<td><div align=\"center\">Código EAN</div></td>";
    echo "<td><div align=\"center\">Descrição do Produto</div></td>";
    echo "<td><div align=\"center\"></div></td>";
    echo "<td><div align=\"center\">Divisão</div></td>";
    echo "</tr>";

     while ($result1 = pg_fetch_assoc($query)){
      echo "<tr>";
      echo "<td><div align=\"center\">".$result1['plu_prod']."</div></td>";
      echo "<td><div align=\"center\">".$result1['ean_prod']."</div></td>";
      echo "<td><div align=\"center\">".$result1['desc_prod']."</div></td>";
      echo "<td><div align=\"center\"><input name=\"agrega[]\" type=\"checkbox\" onClick='verificar()'  value=\"".$result1['plu_prod']."\"></div></td>";
              echo "<td><div align=\"center\"><a href=\"esc_divisao.php\" target=\"_blank\">Escoha</a>";
              echo "</div></td>";

      echo "<td><div align=\"center\">";?>
      &lt;script language="JavaScript">
function verificar()
{
   document.forms['produtos'].submit();
   document.location.href="busca_item.php?check="+document.produtos.agrega.value;
}
</script>
<select name="nome1">
<?php
$var = $_GET['check'];
echo $var;
$sql = "SELECT * FROM representante.tab_divisao WHERE cod_div = '$var'";
$consulta = pg_query($pg_db,$sql);
$linhas = pg_num_rows($consulta);
for($i=0;$i<$linhas;$i++)
{
   $nome1 = pg_fecht_result($consulta,$i,"cod_div");
?>
<option value="<?php echo $nome1; ?>">
<?php } ?>
</select>
<?php
      echo "</td>";
      }
        echo "</tr>";
      echo "<tr>";
      echo "<td colspan=\"5\"><p align=\"center\"><input type=\"submit\" name=\"agregar\" value=\"Agregar\"></p></td></tr>";
      echo "</table>";
      echo "</form>";

Obrigado,

Junior

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde

Consegui fazer funcionar o código acima no qual eu tava pedindo ajuda pela manha..

Eu acabei fazendo o seguinte...

quando eu estou carregando os produtos, apos o usuario ter definido um criterio para pesquisa (codigo do produto ou descricao do produto),

eu entro em um while no qual ira trazer o resultado, junto com o checkbox, carrego na mesma tabela em outra coluna um <select> no qual o nome do select sera select + o codigo do produto, ficando como exemplo:

echo "<select name=\"select".$result['plu_prod']."\">";
quando eu clico no botao agregar, o action do meu form envia um parametro de tipo no qual se for 2 ele vai fazer as verificacoes e fazer o insert em uma outra tabela. Quando ele pega o valor do checkbox, como exemplo o codigo 456 ele sabe que o select se chamara select456 ai ele faz o insert certinho, com o valor que eu escolhi no combo. Agradeco pela ajuda, Valeu mesmo Junior P.S.: Estou postando meu codigo para se alguém quiser dar uma olhada, fica disponivel Esta e a parte onde estava fazendo:
if(!empty($_POST['nome']) and empty($_POST['ean'])){


$nome = $_POST['nome'];

$query = pg_query($pg_db,"select plu_prod,ean_prod,desc_prod from global.tab_produto where desc_prod like '".$nome."%'");

if (pg_num_rows($query)>0){
    echo "<form method=\"post\" action=\"busca_item.php?tipo=2\">";
    echo "<table align=\"center\" border=\"0\" width=\"75%\">";
    echo "<tr>";
    echo "<td><div align=\"center\">Código Interno</div></td>";
    echo "<td><div align=\"center\">Código EAN</div></td>";
    echo "<td><div align=\"center\">Descrição do Produto</div></td>";
    echo "<td><div align=\"center\"></div></td>";
    echo "<td><div align=\"center\">Divisão</div></td>";
    echo "</tr>";

     while ($result1 = pg_fetch_assoc($query)){

$query2 = pg_query($pg_db,"select cod_div,nome_div from representante.tab_divisao order by cod_div");
      echo "<tr>";
      echo "<td><div align=\"center\">".$result1['plu_prod']."</div></td>";
      echo "<td><div align=\"center\">".$result1['ean_prod']."</div></td>";
      echo "<td><div align=\"center\">".$result1['desc_prod']."</div></td>";
      echo "<td><div align=\"center\"><input name=\"agrega[]\" type=\"checkbox\" value=\"".$result1['plu_prod']."\"></div></td>";
      echo "<td><div align=\"center\">";
      echo "</td>";

echo "<td><div align=\"center\">";
echo "<select name=\"select".$result1['plu_prod']."\">";

while ($result2 = pg_fetch_assoc($query2)){
echo "<option name=\"selecao\" value=".$result2['cod_div'].">".$result2['nome_div']."</option>";
}
echo "</select>";
echo "</div></td>";
      }
      echo "</tr>";
      echo "<tr>";
      echo "<td colspan=\"5\"><p align=\"center\"><input type=\"submit\" name=\"agregar\" value=\"Agregar\"></p></td></tr>";
      echo "</table>";
      echo "</form>";
      }else{
      echo "<p align=\"center\">Nenhum registro encontrado</p>";
      }
} 
if(empty($_POST['nome']) and empty($_POST['ean'])){
echo "&lt;script>";
echo "window.alert(\"Favor informar um campo para a pesquisa\")";
echo "</script>";
}
if(!empty($_POST['nome']) and !empty($_POST['ean'])){
echo "&lt;script>";
echo "window.alert(\"Favor informar apenas um campo para a pesquisa\")";
echo "</script>";
}
}

if($tipo==2){

$i=0;

$itens = $_POST['item']."<br>";

pg_query($pg_db,"begin");

 foreach ($_POST['agrega'] as $op){

$selecao = select.$op;

$select = $_POST[$selecao];

$existe = pg_query($pg_db,"select plu_prod from representante.tab_mix where plu_prod='".$op."'");
if (pg_num_rows($existe)>0){
echo "O código ".$op." não foi incluído no sistema!!<br>";
}else{
pg_query($pg_db,"insert into representante.tab_mix(plu_prod,cod_div) values (".$op.",".$select.")");
}

 $i++;
 }
 pg_query($pg_db,"commit");
}
unset($tipo);
pg_close($pg_db);
?>

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,3k
×
×
  • Criar Novo...