Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

php dentro de js

Recommended Posts

Ola pessoal.

 

Tenho código abaixo que lista em uma select os fornecedores de uma empresa:

    <form name="lista_fornecedor" id="lista_fornecedor" action="?acao=preencher">
    <table>
       <tr>
         <td  align="center">Fornecedor:</td>
         <td  align="center">
         <?
         $fornecedor_dados= "select id, nome, razaosocial from fornecedores";
         $dados_fornecedor= mysql_query($fornecedor_dados);
         ?>
         <select name="fornecedores" onChange="abre(produtos)" size="1" style="width:200px">
         <option value="#" selected>Selecione o Fornecedor:</option>
         <? while(list($id_fornece, $nome_fornecedor, $razao_fornecedor)=mysql_fetch_row($dados_fornecedor)){?>
             <option value="<?=$id_fornece;?>"><?=$nome_fornecedor.$razao_fornecedor;?></option>
         <? } ?>
         </select></td>
       </tr>
       <div id="produtos" style="display:none">
       <tr>
         <td  colspan="2" align="center">
 <?
 //*********************************************************************
 // GERA A INSTRUÇÃO SQL E CHAMA A FUNÇÃO PARA GERAR AS COLUNAS
    //*********************************************************************
 function mostra_produtos($id_fornece){
    $sql = "select 
            p.id, p.nome, p.preco, p.foto, p.baixa, f.nome as nome_fornecedor, f.razaosocial as razao_fornecedor 
         from 
		   produtos p inner join fornecedores f 
         where 
		   p.fornecedor = f.id and  p.fornecedor=$id_fornece
		 order by f.nome, f.razaosocial
		 ";
  GeraColunas(4, $sql);
                                      }
  mostra_produtos('this.value');
 ?>          
         </td>
       </tr>      
       </div>
    </table>
    </form>

A ideia é que ao selecionar um fornecedor na select, é feita uma consulta que retorna da tabela mysql produtos, os produtos que aquele fornecedor vende.

Porem, da forma que eu fiz, não da certo.

Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recupere o valor do select, depois faça a requisição via post e traga os resultados.

 

Exemplo...

 

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#fornecedores").change(function() {
     var id_fornecedor = $(this).val();
     $.post("fornecedores.php", { id: id_fornecedor },
     function(resultado) {
        $('#resultados').html(resultado);
     });
  });
});
</script>
</head>
<body>
  <div>
     <select id="fornecedores">
        <option>Selecione</option>
        <option value="1">fornecedor 1</option>
        <option value="2">fornecedor 2</option>
        <option value="3">fornecedor 3</option>
        <option value="4">fornecedor 4</option>
     </select>
  </div>
  <div id="resultados">Selecione um fornecedor</div>
</body>
</html>

 

Na página fornecedores.php você faz o script para recuperar o id do fornecedor... recupere ele por request form... e monte o resultado naquela página que ela será exibida na div resultados da pagina da seleção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim para testes mas não aparece nada ao trocar o select

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#fornecedores").change(function() {
     var id_fornecedor = $(this).val();
     $.post("fornecedores.php", { id: id_fornecedor },
     function(resultado) {
        $('#resultados').html(resultado);
     });
  });
});
</script>
  <div>
     <select id="fornecedores">
        <option>Selecione</option>
        <option value="1">fornecedor 1</option>
        <option value="2">fornecedor 2</option>
        <option value="3">fornecedor 3</option>
        <option value="4">fornecedor 4</option>
     </select>
  </div>
  <div id="resultados">Selecione um fornecedor</div>

fornecedores.php


<?

include("../global/funcoes_php/registros_em_colunas.php"); 
    $sql = "select 
            p.id, p.nome, p.preco, p.foto, p.baixa, f.nome as nome_fornecedor, f.razaosocial as razao_fornecedor 
         from 
		   produtos p inner join fornecedores f 
         where 
		   p.fornecedor = f.id and  p.fornecedor=$id_fornece
		 order by f.nome, f.razaosocial
		 ";
  GeraColunas(4, $sql);
?>

Outra dificuldade que estou tendo é que, ao escolher alguns produtos dos que sairam na lista quando eu escolher um fornecedor, quando eu trocar o fornecedor e escolher outros produtos, preciso que fique guardado os ids desses produtos para gravar em base de dasdos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.