Ir para conteúdo

POWERED BY:

Arquivado

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

Michelly

Tabulação de Dados

Recommended Posts

Boa tarde pessoal!

 

Seguinte... Tenho um site na qual uso ajax para buscar informações e retorná-los em um determinado DIV.

 

Através do Ajax, eu chamo outro arquivo que realiza a consulta no banco de dados com php e retorna os resultados da consulta em uma tabela. O problema é que no FF os dados deveriam retornar organizados, ou seja, dentro das colunas conforme estabelecido pelo código HTML para tabulação dos dados selecionados, o que não acontece. Já no IE7 os dados são retornados perfeitamente mas eu não sei o que está errado.

 

Na verdade, não tenho certeza nem se esse "erro" ocorre pelo uso do Ajax, mas aparentemente sim, pois já mudei todo o meu css e nada acontece.

 

Segue abaixo os códigos...

 

HTML:

<body onLoad="java script: ajaxFunction('Conteudo.php', 'txtitens');">
  
  <!--Coluna da Direita - Dados--> 
  <div id="txtitens">
  </div> 
  <!--Coluna da Direita - Dados-->

Ajax:

//-----------------------
//Cria um objeto em Ajax
//-----------------------
function Get_ObjAjax(){
  try {
	// Firefox, Opera 8.0+, Safari
	return new XMLHttpRequest();
  }
  catch (e) {
	// Internet Explorer
	try {
	  return new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e) {
	  try {
		return new ActiveXObject("Microsoft.XMLHTTP");
	  }
	  catch (e) {
		alert("O sistema utiliza tecnologia AJAX, o seu browser não suporta esta tecnologia.\n Faça uma atualização!");
		return false;
	  }
	}
  }
}

//-----------------------------------------------------------------------------------------
//Chama o carregamento de uma página em AJAX
// input: url - página a ser chamada.
//		campo_dados - campo a ser carregado: ser o id começar com "txt" carrrega o texto; 
//					  caso contrário, carrega um valor para o campo.
//-----------------------------------------------------------------------------------------
function ajaxFunction(url, campo_dados) {
  var xmlHttp = Get_ObjAjax();
  
  if(xmlHttp){
	  xmlHttp.onreadystatechange = function() {
		  if(xmlHttp.readyState==4) {
			if(campo_dados.substring(0,3) == "txt")
				document.getElementById(campo_dados).innerHTML = xmlHttp.responseText;
			else
				document.getElementById(campo_dados).value = xmlHttp.responseText;
		  }
	  }
  }

  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

Arquivo Conteudo.php

<?php 
	header("Content-Type: text/html;  charset=ISO-8859-1",true);

	include 'Site/Classes/Queries.php';
	
	$sql = "SELECT VFW.*, VA.NOME_ALUNO
				  FROM VW_FREQUENCIAS_WEB VFW, VW_ALUNOS VA
				 WHERE VFW.COD_MATRICULA = VA.COD_MATRICULA 
				   AND VFW.COD_PAUTA = 20634 ORDER BY VA.NOME_ALUNO";
	
	$qry   = new queries($sql);	
?>
	<table style="border: 1px solid black; color: inherit !important; background: transparent;">
		<tr> 
			<td>
				Matricula
			</td> 
			<td>
				Nome
			</td>
			
	<?php
		//Array de meses do ano
		$mes = array("Dez", "Nov", "Out", "Set", "Ago", "Jul", "Jun", "Mai", "Abr", "Mar", "Fev", "Jan");
		
		if ($qry->nlinhas > 0) 
			$periodo_let = $qry->resultados["PERIODO_LET"][0]; 
		else 
			$periodo_let = PERIODO_LET;
		
		$limite	  = (count($mes) - 2)/$periodo_let;
		$total_aulas = 0;
		
		//Configurando os meses a serem exibidos
		for ($i=$limite; $i>=$limite - (3 + $periodo_let); $i--) {
			$total_aulas  = $total_aulas  + $qry->resultados["Aulas_$mes[$i]"][0];
			echo "<td>". $mes[$i] ."</td>";
		}
	?>
			<td align="center">A.A.</td>
			<td align="center">Dadas</td>
			<td align="center">Freq.</td>
			<td align="center">Faltas</td>
			<td align="center">%Freq.</td>
		</tr>
	<?php	
		//Percorrendo os resultados da busca efetuada
		for($i=0; $i < $qry->nlinhas; $i++) {
		
	?>
			<tr>
				<td><?=$qry->resultados["COD_MATRICULA"][$i]?></td>
				<td><?=$qry->resultados["NOME_ALUNO"][$i]?></td>
	<?php
			//Zerando variáveis para inicialização dos cálculos
			$total_faltas = 0; $porcentagem_freq = 0;
			
			//Configurando a exibição das frequências de acordo com os meses do período letivo
			for ($j=$limite; $j>=$limite - (3 + $periodo_let); $j--) {
				$total_faltas = $total_faltas + $qry->resultados["$mes[$j]"][$i];
	?>
				<td><?=$qry->resultados["$mes[$j]"][$i]?></td>
	<?php
			}

			$total_freq = $total_aulas - $total_faltas;
			
			if ($total_aulas != 0) 
				$porcentagem_freq = (($total_freq + $qry->resultados["ATIVIDADE_ADICIONAL"][$i]) * 100)/$total_aulas; 
	?>	
				<td><?= $qry->resultados["ATIVIDADE_ADICIONAL"][$i]?></td>
				<td><?= $total_aulas ?></td>
				<td><?= $total_freq ?></td>
				<td><?= $total_faltas ?></td>
				<td><?= round($porcentagem_freq)." %"?></td>
			</tr>		
	<?php
		unset($total_freq);
	}	
		//Percorrendo os resultados da busca efetuada
		for($i=0; $i < $qry->nlinhas; $i++) {
		
	?>
			<tr>
				<td><?=$qry->resultados["COD_MATRICULA"][$i]?></td>
				<td><?=$qry->resultados["NOME_ALUNO"][$i]?></td>
	<?php
			//Zerando variáveis para inicialização dos cálculos
			$total_faltas = 0; $porcentagem_freq = 0;
			
			//Configurando a exibição das frequências de acordo com os meses do período letivo
			for ($j=$limite; $j>=$limite - (3 + $periodo_let); $j--) {
				$total_faltas = $total_faltas + $qry->resultados["$mes[$j]"][$i];
	?>
				<td><?=$qry->resultados["$mes[$j]"][$i]?></td>
	<?php
			}

			$total_freq = $total_aulas - $total_faltas;
			
			if ($total_aulas != 0) 
				$porcentagem_freq = (($total_freq + $qry->resultados["ATIVIDADE_ADICIONAL"][$i]) * 100)/$total_aulas; 
	?>	
				<td><?= $qry->resultados["ATIVIDADE_ADICIONAL"][$i]?></td>
				<td><?= $total_aulas ?></td>
				<td><?= $total_freq ?></td>
				<td><?= $total_faltas ?></td>
				<td><?= round($porcentagem_freq)." %"?></td>
			</tr>		
	<?php
		unset($total_freq);
	}
	unset($qry);
	?>
	</table>

 

Observação: Deixei apenas os códigos relevantes.

 

Desde já, agradeço! :rolleyes:

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.