Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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);
}<?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:
Carregando comentários...