Ir para conteúdo

POWERED BY:

Arquivado

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

formigoni

[Resolvido] 3 combos

Recommended Posts

Olá, boa noite pessoal do fórum, preciso de uma ajuda para entender um lance com 2 combos + página.

Seguinte, tenho o primeiro combo onde monto uma lsita com algumas categorias, onde ao selecionar uma categoria ele me passa uma variável montando o segundo combo e tudo funciona maravilhosamente bem, mas preciso agora montar uma página com determinadas informações do meu banco para um produto escolhido no segundo combo, mas a variável não está sendo passada, vejam:

 

[página 1] paginaBuscaProdutos.php

 

CODE

<select name="idCategoria" id="idCategoria" class="texto" onchange="carrega()">

<option value="0">Selecione a Categoria</option>

<?php

do {

?>

<option value="<?php echo $row_sub['idSubCategoria']?>"><?php echo $row_sub['sub_categoria']?></option>

<?php

} while ($row_sub = mysql_fetch_assoc($sub));

$rows = mysql_num_rows($sub);

if($rows > 0) {

mysql_data_seek($sub, 0);

$row_sub = mysql_fetch_assoc($sub);

}

?>

</select>

ajax_subCategorias.js

 

CODE

function criaXMLHttp() {

if (typeof XMLHttpRequest != "undefined") return new XMLHttpRequest();

else if (window.ActiveXObject) {

var versoes = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];

}

for (var i = 0; i < versoes.length; i++) {

try {

return new ActiveXObject(versoes);

} catch(e) {}

}

throw new Error();

}

 

function carrega() {

var indice = document.getElementById("idCategoria").selectedIndex;

var tipo = document.getElementById("idCategoria").options[indice].value;

if (tipo == "") {} else {

var url = "procura_subCategorias.php?id=" + document.getElementById("idCategoria").options[indice].value + "";

}

 

var divInfo = document.getElementById("carregaDepto");

var XMLHttp = criaXMLHttp();

XMLHttp.open("get", url, true);

divInfo.innerHTML = carregando();

XMLHttp.onreadystatechange = function() {

if (XMLHttp.readyState == 4) if (XMLHttp.status == 200) {

divInfo.innerHTML = XMLHttp.responseText;

} else {

divInfo.innerHTML = "Nenhuma Sub Categoria encontrada";

}

};

XMLHttp.send(null);

}

 

function carregando() {

var msg = "<img src='imagens/aguarde.gif'><span class='style23'>Carregando Sub Categorias</span>";

return msg;

}

Monto o 2 combo aqui procura_subCategorias.php mas apartir desse combo gostaria de montar a página de acordo com a variável passada, mas o scrip não faz nada, vejam em negrito a sequência

 

CODE

<?php

 

include("conexao.php");

 

$idCategoria = $_GET["id"];

 

$query_depto = "SELECT * FROM produtos WHERE idCategoria = $idCategoria";

$depto = mysql_query($query_depto) or die(mysql_error());

$row_depto = mysql_fetch_assoc($depto);

$totalRows_depto = mysql_num_rows($depto);

 

?>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

 

<!-- Chama include que faz chamada de Sub Categorias -->

<script src="ajax_dados_produto.js"></script>

 

<link href="css_n/layout.css" rel="stylesheet" type="text/css">

<link href="painel/css.css" rel="stylesheet" type="text/css" />

 

</head>

<body>

<table width="50%" border="0" cellpadding="0" cellspacing="0" class="input">

<tr>

<td scope="row"><select name="idProduto" id="idProduto" class="texto" onchange="carregaDados()">

<option value="0">Selecione o Produto</option>

<?php do { ?>

<option value="<?php echo $row_depto['idProduto']?>"><?php echo $row_depto['nome']?></option>

<?php } while ($row_depto = mysql_fetch_assoc($depto));

$rows = mysql_num_rows($depto);

if($rows > 0) {

mysql_data_seek($depto, 0);

$row_depto = mysql_fetch_assoc($depto);

} ?>

</select></td>

</tr>

</table>

<p> </p>

</body>

</html>

ajax_dados_produto.js

 

CODE

function criaXMLHttp() {

if (typeof XMLHttpRequest != "undefined") return new XMLHttpRequest();

else if (window.ActiveXObject) {

var versoes = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];

}

for (var i = 0; i < versoes.length; i++) {

try {

return new ActiveXObject(versoes);

} catch(e) {}

}

throw new Error();

}

 

function carregaDados() {

var indice = document.getElementById("idProduto").selectedIndex;

var tipo = document.getElementById("idProduto").options[indice].value;

if (tipo == "") {} else {

var url = "procura_dadosProdutos.php?id=" + document.getElementById("idProduto").options[indice].value + "";

 

}

 

var divInfo = document.getElementById("carregaDadosProdutos");

var XMLHttp = criaXMLHttp();

XMLHttp.open("get", url, true);

divInfo.innerHTML = carregando();

XMLHttp.onreadystatechange = function() {

if (XMLHttp.readyState == 4) if (XMLHttp.status == 200) {

divInfo.innerHTML = XMLHttp.responseText;

} else {

divInfo.innerHTML = "Nenhuma Sub Categoria encontrada";

}

};

XMLHttp.send(null);

}

 

function carregando() {

var msg = "<img src='imagens/aguarde.gif'><span class='style23'>Carregando Sub Categorias</span>";

return msg;

}

Aqui deveria ficar as informações

 

CODE
<?php

 

include("conexao.php");

 

echo $idProduto = $_GET["id"];

 

$query_depto = "SELECT * FROM produtos WHERE idProduto = $idProduto";

$depto = mysql_query($query_depto) or die(mysql_error());

$row_depto = mysql_fetch_assoc($depto);

$totalRows_depto = mysql_num_rows($depto);

 

?>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

 

 

<link href="css_n/layout.css" rel="stylesheet" type="text/css">

 

<link href="painel/css.css" rel="stylesheet" type="text/css" />

</head>

<body>

<table width="50%" border="0" cellpadding="0" cellspacing="0" class="input">

<tr>

<td scope="row">Valor R$ <?php echo $row_depto['preco']; ?></td>

</tr>

</table>

<p> </p>

</body>

</html>

Desculpem pelo tamanho do post, mas não consegui encontrar outra maneira.

Se puderem me ajudar, agradeço.

Fiquem na paz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, boa tarde...

... consegui resolver o problema.

Agora o meu ajax_subCategorias.js ficou assim:

 

function criaXMLHttp() {
  if (typeof XMLHttpRequest != "undefined") return new XMLHttpRequest();
  else if (window.ActiveXObject) {
	var versoes = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
  }
  for (var i = 0; i < versoes.length; i++) {
	try {
	  return new ActiveXObject(versoes[i]);
	} catch(e) {}
  }
  throw new Error();
}

function carrega() {
  var indice = document.getElementById("idCategoria").selectedIndex;
  var tipo = document.getElementById("idCategoria").options[indice].value;
  if (tipo == "") {} else {
	var url = "procura_subCategorias.php?id=" + document.getElementById("idCategoria").options[indice].value + "";
  }

  var divInfo = document.getElementById("carregaDepto");
  var XMLHttp = criaXMLHttp();
  XMLHttp.open("get", url, true);
  divInfo.innerHTML = carregando();
  XMLHttp.onreadystatechange = function() {
	if (XMLHttp.readyState == 4) if (XMLHttp.status == 200) {
	  divInfo.innerHTML = XMLHttp.responseText;
	} else {
	  divInfo.innerHTML = "Nenhuma Sub Categoria encontrada";
	}
  };
  XMLHttp.send(null);
}

function carregaDados() {
  var indice = document.getElementById("idProduto").selectedIndex;
  var tipo = document.getElementById("idProduto").options[indice].value;
  if (tipo == "") {} else {
	var url = "procura_dadosProdutos.php?id=" + document.getElementById("idProduto").options[indice].value +"";
  }

  var divInfo = document.getElementById("carregaDadosProdutos");
  var XMLHttp = criaXMLHttp();
  XMLHttp.open("get", url, true);
  divInfo.innerHTML = carregando();
  XMLHttp.onreadystatechange = function() {
	if (XMLHttp.readyState == 4) if (XMLHttp.status == 200) {
	  divInfo.innerHTML = XMLHttp.responseText;
	} else {
	  divInfo.innerHTML = "Nenhuma Sub Categoria encontrada";
	}
  };
  XMLHttp.send(null);
}

function carregando() {
  var msg = "<img src='imagens/aguarde.gif'><span class='style23'>Carregando Sub Categorias</span>";
  return msg;
}

As chamadas ficaram em um só arquivo.

Valeu pelas ajudas e fiquem na paz.

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.