Using dynamic combobox how to send the id to server automatically without using the submit button and return all values where id is equal?

0

I'm using a dynamic datalist that does auto-complete.

In the combobox below, it is linked with database gestao_vendas , where in the inventory table it contains all product names and their idProduto .

How can I do that when I click on a combobox option it should send idProduto to server and then return the line where idProduto is the same, automatically without having to click the button?

<input type="text" id="txtID" name="Produtos" list="ent" />
<datalist id="ent">
<label>select a Produtos from list:</label>
<select name="Produtos">

<?php 
  include 'teste/conexao/conexao.php';

  $selecionar="SELECT * FROM 'gestao_vendas'.'estoque'";
  try {
  $resultado = $conexao->prepare($selecionar);
  $resultado->execute();
  if(count($resultado)){
  foreach ($resultado as $res) {    
?>
  <option id="<?php echo $res['codProduto'];?>" value="<?php echo $res['NomeProduto'];?>"> </option>

<?php
  }
  }
    } catch (PDOException $e) {
    //  echo 'ERROR: ' . $e->getMessage();
        }
?>

</select>
</datalist>

I'd like you to see yourself in this table.

<?php

$selecionar="SELECT * FROM 'estoque' WHERE 'codProduto'=$idProduto";
  try {
  $resultado = $conexao->prepare($selecionar);
  $resultado->execute();
  while ($mostrar = $resultado->Fetch(PDO::FETCH_OBJ)) {                
  ?>

<tr>
  <td><?php echo $mostrar->codProduto; ?></td>
  <td><?php echo $mostrar->NomeProduto; ?></td>
  <td><?php echo $mostrar->descricao; ?></td>
</tr>   

<?php
  }
  } catch (PDOException $e) {
  //  echo 'ERROR: ' . $e->getMessage();
    }
?>
    
asked by anonymous 16.01.2016 / 13:08

1 answer

1

Hello,

I do not know if I understand this very well, but you will need to use ajax to send a request dynamically without clicking the button. You will also need to generate the table with javascript.

Code to get the id of the selected option: link

For ajax test this code snippet:

$('#id_do_select').change(function () {
            var codProduto = $('#id_do_select').find(":selected").attr("id");
            $.ajax({
                url: "pagina.php",
                data: { codProduto: codProduto},
                method: "POST",
                success: function(){
                   //Lógica para gerar a tabela dinâmicamente;
                }
            });
    });

To get the value of the product code in php:

if(isset($_POST['codProduto'])){
   $codProduto = $_POST['codProduto'];
}
    
18.01.2016 / 14:46