Jump to content


carneiro's Content

There have been 28 items by carneiro (Search limited from 20/04/2023)



Ordernar por                Order  

#770452 Php + Ajax

Posted by carneiro on 08/08/2006, 14:26 in PHP

Boa tarde..
Estou começando a mexer com Ajax, e ja surgiu uma duvida. Acho eu que é referente ao php..
Vamos la..

Criei uma função javascript para qdo escolher um item na combox ele busque em um xml e crie uma outra combox com os itens referentes..

Então quando eu vou buscar direto no arquivo .xml, ele funciona beleza.
Agora qdo eu peço pra buscar em um arquivo .php ( que gera um xml) ele acusa dizendo q nao foi encontrado nenhum nó filho..

O meu código php

if(!empty($_GET['categoria'])){
	$_sql = "SELECT * FROM produto WHERE categoria_id='".$_GET['categoria']."' ORDER BY categoria_id, descricao";
	$_res = $ObjConexao->sql($_sql); 
				if($_res === 0){
		echo "Erro na Busca de Produtos";
	} else{
	$_xml .= '<?xml version="1.0" encoding="iso-8859-1"?>';
	$_xml .= '<categoria>';
	while($_row = mysql_fetch_array($_res)){
		$_xml.= '<produto>';
		$_xml.= '<codigo>'.$_row['cod_produto'].'</codigo>';
		$_xml.= '<descricao>'.$_row['descricao'].'</descricao>';
		$_xml.= '</produto>';
		}
	$_xml .= '</categoria>';

	}
}

echo $_xml;

tentei um codigo mais simples como esse, e deu o mesmo erro

echo '
<?xml version="1.0" encoding="iso-8859-1"?>
<categoria>
	<produto>
		<codigo> 1 </codigo>
		<descricao> teste </descricao>
	</produto>
</categoria>
';

Minhas funcoes java script

function selecionarProdutos(){
	var categoria = document.busca.categoria.value;
	if(categoria>0){
		// busca os produtos desta categoria.
		AjaxRequest();
		if(!ajax){
			alert('Não foi possivel iniciar o Ajax');
			return;
		}
		ajax.onreadystatechange = mostraProdutos;
		ajax.open('GET','busca_produtos.php?categoria='+categoria,true);
		ajax.send(null);
	}else{
		alert('favor selecionar a Categoria de produtos');
	}

}

function mostraProdutos(){
		
	if(ajax.readyState == 4){
	   if(ajax.status == 200){
		var xmldoc = ajax.responseXML;
								 if(xmldoc.hasChildNodes()){
			var nos	   = xmldoc.getElementsByTagName('produto');
			var categoria = document.busca.categoria.value;
			var selp	  = document.busca.produtos;
			selp.options.length = 0;
			var opt	   = new Option('Selecione o Produto Desejado','-1');
			selp.add(opt);
			for(var i=0; i<nos.length; i++){
				var no  = nos[i];
				var cod = no.childNodes[0].firstChild.nodeValue;
				var des = no.childNodes[1].firstChild.nodeValue;
				var opt = new Option(cod,des);
				selp.add(opt);
			}
		}else{ alert(' Não foi encontrado nós filhos ');}
		}else{
	 	alert('Erro no retorno do servidor ' + ajax.statusText);
		}
	}
	
}

tentei utilizar a classe DOMDocument para gerar o xml.. mas não funcionou no meu servidor =/
essa classe soh funciona no PHP5 ??

Se alguem puder me ajudar ai, fico agradecido =)

Valeu



#766010 Alguem Sabe Onde Pego Uma Apostila De Java Script?

Posted by carneiro on 27/07/2006, 09:21 in Javascript / DOM / AJAX / ECMAScript

http://www.apostilan...essao.php?cod=7

=)



#765666 Pra Quem Ainda Não Entende Ajax.

Posted by carneiro on 26/07/2006, 15:38 in Ajax

Parabéns mesmo.. Nota 10..
Não basta fazer funcionar, tenque entender o código...

Parabéns novamente...




IPB Skin By Virteq