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

php dentro de js


Carlos Rocha

Pergunta

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.preço, 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.

alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Tentei usando ajax como orientado mas não funcionou.

Html - Aqui criei um campo de texto a mais para ver se funcionaria os dois. O Select e o text. Mas nada de funcionar

<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="DadosFornecedor(this.value,'lista_fornecedor')" 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>
        <tr>
          <td  colspan="2" align="center">
            <select name="fornecedor"  id="fornecedor" size="1" style="width:200px">
                <option id="opcoesfornecedor" value="#">Primeiro selecione o Fornecedor!</option>
            </select>          
                       </td>
        </tr>      
        <tr><td>
       <input type="text" name="opcoesfornecedor2" id="opcoesfornecedor2" value="#" />

     </td></tr>
     </table>
     </form>
ajax
var novo2 = document.createElement("input");
                novo2.setAttribute("type", "text");
                novo2.setAttribute("id", "opcoesfornecedor2");
                novo2.setAttribute("name", "opcoesfornecedor2");
                novo2.value = id_forn;
                document[form_get].opcoesfornecedor2.value.add(novo2);
php
<?php 
include("../funcoes_php/conexao.php"); 
$id_fornecedor = $_POST["id_fornece"];

$sql = "SELECT id, nome, razaosocial FROM  fornecedores WHERE id = '$id_fornecedor' ORDER BY nome, razaosocial";            
$sql = mysql_query($sql);  
$row = mysql_num_rows($sql);    

//VERIFICA SE VOLTOU ALGO 
if($row) {                
   //XML
   $xml  = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
   $xml .= "<fornecedores>\n";               
   
   //PERCORRE ARRAY            
   for($i=0; $i<$row; $i++) {  
      $id    = mysql_result($sql, $i, "id"); 
      $nome = mysql_result($sql, $i, "nome");
      $razaosocial = mysql_result($sql, $i, "razaosocial");      
      $xml .= "<fornecedor>\n";     
      $xml .= "<id_forn>".$id."</id_forn>\n";                  
      $xml .= "<nomerazao>".$nome.$razaosocial."</nomerazao>\n";         
      $xml .= "</fornecedor>\n";    
   }//FECHA FOR                 
   
   $xml.= "</fornecedores>\n";
   
}//FECHA IF (row)                                               
   header("Content-type: application/xml; charset=utf-8");
echo $xml;            
?>

Onde será que estou errando?

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...