Use of Select to load data

Asked

Viewed 844 times

0

I’m running the order numbers through the charts. After clicking this select, I select the order number in select and want to load the order details on the same page, within a table just below the select. It is possible or I have to send the data through a $_POST to another page and only then upload the order details on the page where I have 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>
  • you can do using ajax

  • Do you have a simple example to guide me? I mean, all on the same page, searching the database?

  • 2

    Show what you’ve done

  • Okay. Come on: The code exceeds the size here. Where post?

  • If the original code is too big, try reducing the problem to a [mcve]

  • It would be interesting to separate php, html and javascript

Show 1 more comment

1 answer

1


It is possible making use of ajax.

Form page

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script language="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 taking information from the database


pagina_requisicao.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 data from Mysql

Browser other questions tagged

You are not signed in. Login or sign up in order to post.