Ir para conteúdo

POWERED BY:

Arquivado

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

fsilvarib

Resgatando Dados

Recommended Posts

Tudo bom pessoal?

 

Como é que eu poderia resgatar os dados em XML e jodando dentro de uma tabela?

 

Pois esse XML é gerado pelo PHP, e ele muda a toda hora.

 

<table class="balcao_table" cellpadding="0" cellspacing="1" align="center">		<tr class="tr_01">		 <td class="td_01" align="center">Produto</td>		  <td class="td_01" width="90" align="center">Quantidade</td>		  <td class="td_01" width="100" align="center">Total</td>		  <td class="td_01" width="60" align="center">Excluir</td>		</tr>		<tr class="tr_02">		 <td class="td_01" align="center">Dado 1</td>		  <td class="td_01" align="center">Dado 2</td>		  <td class="td_01" align="center">Dado 3</td>		  <td class="td_01" align="center"><img src="images/apagar.jpg" width="12" height="12" alt="" class="border" /></td>		</tr>	   </table>

Então galera, pegar todos os dados do XML, e gerar vários TRs e TDs automáticos. Igual a esse segundo TR do code acima.

 

Muito obrigado e até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas precisa ser com AJAX mesmo....Em PHP eu faria com um FOR ou While, mas no meu caso tem que ser em AJAX. Porque eu adiciono um dado no DB, e na hora preciso que todos os dados sejam exibidos na tela.De que forma eu poderia fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então peraí.O PHP vai dar um Loop e gerar o XML?Pois se o AJAX só vai chamar o PHP, eu posso fazer o Loop com as TRs prontas, certo?Mas de que forma eu poderei chamar esse PHP pelo AJAX?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe...mas estive fora um tempo e não acessei ainda.Então...No meu caso teria que chamar o arquivo PHP, pelo responseText e usar o InnerHTML para o local aonde quero jogar neh?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu consegui pegar os dados pelo responseText, mas o problema é que eu chamo um arquivo PHP que tem um FOR e ele gera a tabela de todos os produtos, até aí tudo bem. Mas quando eu chamo pelo responseText, ao invés de vir 10 produtos ele vem 9. Mas o arquivo PHP vem certinho.O que será que pode estar acontecendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bom?

 

Aí está o código como você me pediu.

 

Arquivo PHP

<?phpinclude ("conexao.php"); $sql = "select venda_tmp.id,produtos.nome,venda_tmp.quantidade,venda_tmp.total from venda_tmp,produtos where (venda_tmp.produto = produtos.id) order by id"; $produtos = mysql_query($sql,$conexao); $linhas = mysql_num_rows($produtos); echo '  <table class="balcao_table" cellpadding="0" cellspacing="1" align="center">		<tr class="tr_01">		 <td class="td_01" align="center">Produto</td>		  <td class="td_01" width="90" align="center">Quantidade</td>		  <td class="td_01" width="100" align="center">Total</td>		  <td class="td_01" width="60" align="center">Excluir</td>		</tr> '; for ($y=0;$y<$linhas;$y++) {  $id = mysql_result($produtos,$y,'id');  $nome = mysql_result($produtos,$y,'nome');  $quantidade = mysql_result($produtos,$y,'quantidade');  $total = mysql_result($produtos,$y,'total');    echo '		<tr class="tr_02">		 <td class="td_01" align="center">'.$nome.'</td>		  <td class="td_01" align="center">'.$quantidade.'</td>		  <td class="td_01" align="center">R$ '.$total.'</td>		  <td class="td_01" align="center"><img src="images/apagar.jpg" width="12" height="12" alt="" class="border" /></td>		</tr>  '; } echo '	   </table> ';?>

 

Arquivo JS

function openAjax(){	var ajax;	try {		ajax = new XMLHttpRequest();	} catch(ee) {		try {			ajax = new ActiveXObject("Msxml2.XMLHTTP");		} catch(e) {			try {				ajax = new ActiveXObject("Microsoft.XMLHTTP");			} catch(E) {				ajax = false;			}		}	}	return ajax;}function gEid(ID){	return document.getElementById(ID);}function envia_produto(e,v){ var t = e.keyCode?e.keyCode:e.which?e.which:e.charCode; if(t==13) {  var vendas = gEid('vendas');  var Vquantidade = vendas.Vquantidade.value;  var Vprodutos = vendas.Vprodutos.value;  var ajax = openAjax();  if (ajax)  {   ajax.open("POST","produto.php?tipo=adicionar",true);   ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");   ajax.send("quantidade="+Vquantidade+"&produto="+Vprodutos);  }      var ajax2 = openAjax();  if (ajax2)  {   ajax2.open("GET","produto.php?tipo=list_balcao",true);   ajax2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");     ajax2.onreadystatechange = function()    {	if (ajax2.readyState == 1)	 {	  document.getElementById.innerHTML = "Carregando...";	 }	 if (ajax2.readyState == 4)	 {	 if (ajax2.status == 200)	  {	  var retorno = ajax2.responseText;	  document.getElementById('list_balcao').innerHTML = retorno;	 }	  else	  {	  document.getElementById.innerHTML = "Carregando...";	 }	 }   }   ajax2.send(null);  }   }}

 

Arquivo HTML

<div" id="list_balcao">		   <!-- AJAX AQUI -->	  </div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Viu tmferreira...

 

Será que tem como eu pegar os dados em XML e joga-los dentra da table?

 

Tipo assim:

 

<table> <tr>  <td>Fixa</td> </tr><!-- JOGAR aqui o que pegou em XML --></table>

Ele pega em XML, transforma para TR e TD e joga nesse espaço que falei.

 

Será que assim dá pra fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então....o problema não é o PHP e sim o AJAX.Pois no meu script eu adiciono um dado do DB, mas quando eu listo esses dados ele vem sempre um a menos.E eu não sei de que forma eu posso resgatar isso.

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.