Use of Select to load data

1

I'm looking at the order numbers table. After clicking on this select, I select the order number in the select and I want to load the order details on the same page, inside a table just below the select. Is it possible or do I have to send the data through $ _POST to another page and only then load the order details on the page where I have the select?

What I've done so far:

<body>

<form id="frm_dados_ljv" name="frm_dados_ljv" method="post" action="">
    <p>Número do Pedido:
       <select name="cbo_nps" size="1" id="cbo_nps">
         <option value="0">Selecione...</option>   

<?php
//Conecta o banco de dados e traz as informações dos produtos...
include("conexao.php");
$pdo=conectar();

       try{

           //Buscando dados...
           $sql=$pdo->prepare("SELECT * FROM numped_loja WHERE status='A'");
              $sql->bindParam(':idp', $_GET['idp'], PDO::PARAM_INT);
              $sql->bindParam(':numped', $_GET['numped'], PDO::PARAM_STR);

              $sql->execute(); 

              //loop
              while($linha=$sql->fetch(PDO::FETCH_ASSOC)){

              //pegando o dado do campo                           
                    $numped = $linha["numped"];

              //preenchendo a combo...
                    $np = "<option>".$numped."</option>";
                    echo $np;                                  
            };                   
 //fechando a conexão
 $pdo = null;
            }
catch(PDOExcception $erro){
echo $erro->getmessage();
}  
?>     

</select>
</p>
</form>


<div id="tb1_loja"></div>

<div id="tb2_loja"></div>

</body>
    
asked by anonymous 04.06.2018 / 21:21

1 answer

1

It is possible by making use of ajax.

Form page

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script><scriptlanguage="javascript">

  jQuery(document).ready(function(){

        // está função diz, que quando esse formulario for enviado, tudo oque estiver aqui será executado.
        jQuery('#idForm').submit(function(){ 


            var dados = $("#opcoes").val(); //valor do option selecionado

            jQuery.ajax({
                type: "POST",
                // aqui vai a url da requisição
                url: "pagina_requisicao.php",
                // aqui os dados para o servidor, option, inputs etc... do form
                data: {id: dados},
                beforeSend: function(){
                    $("#resultado").html("Carregando...");
                },
                // essa function success será executada se a requisição for feita com sucesso
                success: function(data){
                    // coloca o conteúdo retornado da consulta na div identificada pelo id
                    $('#resultado').html(data);
                    // mostra a div
                    document.getElementById('resultado').style.display = 'block';
                },
                error: function(){
                  // essa funcion error será executada caso ocorrer algum erro na requisição
                    $("#resultado").html("Ouve um erro");
                }   
            });

            return false;
        });
    });

</script>

<style type="text/css">
#resultado{
    //estilo da div que vai apresentar o conteudo da requisição
}
</style>


<!-- exemplo de formulario -->
    <form id="idForm">
        <select id="opcoes">
            <option>Pedido</option>

            <!-- monta pegando informações do banco de dados -->
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <!-- ....................................... -->

        </select> 
        <button type='submit' value='Enviar'/>Enviar</button>   
    </form>

<!-- o conteúdo dessa div será o retorno da requisição -->
<div id="resultado" style="display:none"></div>

How to mount a select by picking up information from the database

page_requisition.php

//coleta o valor enviado pelo formulário 
$id=$_POST['id'];

/************ detalhes do pedido ****************/
//         selecionar dados de MySQL
//         conexão ao banco de dados
//   Select com clausula where nomeColuna = '$id'
//    retorne os valores desejados em variáveis
//   concatene essas variáveis nas tds da tabela
/************************************************/

// conteúdo a ser passado para a div da pagina do formulário
// nas tds concatene as variáveis que contem os valores retornados do banco

echo '<table border="1" width="300" bgcolor="#FFFFE6" style="border-collapse: collapse" bordercolor="#008080">
    <tr>
        <td>'.$nome_servico.'</td>
        <td>'.$valor_servico.'</td>
        <td>'.$total_servico.'</td>
    </tr>
</table>';

PHP select MySQL data

    
05.06.2018 / 04:55