Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 07-nov-2006, 10:20   #1 (permalink)
carlitros74 ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Triste Se demora en cargar la pagina

Hola Chicos, tengo un problema no ses i me puede ayudar, miren lo que estoy haciendo es una agenda mismo google, el cual practicamente ya estoy terminando el problema de mi pagina es que cuando paso de mes a mes, al cargar el lado de mi pagina se demora un monton, estoy utilizando ajax para cargar las variables ya que si lo hago de forma normal se demoraria en carga toda la pagina , pero aun asi la demora es tremenda, les envio mi codigo para que lo chequeen y me pueda apoyar, gracias.

index.php //
<html>
<head>
<title>:: Sistema M&eacute;dico</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #F0F0F0;
}
-->
</style>
<script language="javascript" type="text/javascript">
function llamarasincrono (url, id_contenedor)
{
var pagina_requerida = false;
if (window.XMLHttpRequest)
{
// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest ();
} else if (window.ActiveXObject)
{
// pero si es IE
try
{
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
}
catch (e)
{
// en caso que sea una versión antigua
try
{
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
return false;
pagina_requerida.onreadystatechange = function ()
{
// función de respuesta
cargarpagina (pagina_requerida, id_contenedor);
}
pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
pagina_requerida.send (null);
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requerida, id_contenedor)
{
if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}
</script>
<link href="estilo.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="538" rowspan="2" valign="top"><div id="datos"></div></td>
<td width="162" valign="top"><div id="calen"><? include('calendar.php'); ?></div></td>
</tr>
<tr>
<td><p>&nbsp;</p> </td>
</tr>
</table>
</body>
</html>
carlitros74 está desconectado   Responder Citando
Antiguo 07-nov-2006, 10:21   #2 (permalink)
carlitros74 ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Triste aqui esta el resto del codigo

calendar.php
<div align="center">
<?
require ("calendario.php");

if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){
$tiempo_actual = time();
$mes = date("n", $tiempo_actual);
$ano = date("Y", $tiempo_actual);
}else {
$mes = $nuevo_mes;
$ano = $nuevo_ano;
}

mostrar_calendario($mes,$ano);
?>
</div>


calendario.php
<?
function calcula_numero_dia_semana($dia,$mes,$ano){
$numerodiasemana = date('w', mktime(0,0,0,$mes,$dia,$ano));
if ($numerodiasemana == 0)
$numerodiasemana = 6;
else
$numerodiasemana--;
return $numerodiasemana;
}

//funcion que devuelve el último día de un mes y año dados
function ultimoDia($mes,$ano){
$ultimo_dia=28;
while (checkdate($mes,$ultimo_dia + 1,$ano)){
$ultimo_dia++;
}
return $ultimo_dia;
}

function dame_nombre_mes($mes){
switch ($mes){
case 1:
$nombre_mes="Enero";
break;
case 2:
$nombre_mes="Febrero";
break;
case 3:
$nombre_mes="Marzo";
break;
case 4:
$nombre_mes="Abril";
break;
case 5:
$nombre_mes="Mayo";
break;
case 6:
$nombre_mes="Junio";
break;
case 7:
$nombre_mes="Julio";
break;
case 8:
$nombre_mes="Agosto";
break;
case 9:
$nombre_mes="Septiembre";
break;
case 10:
$nombre_mes="Octubre";
break;
case 11:
$nombre_mes="Noviembre";
break;
case 12:
$nombre_mes="Diciembre";
break;
}
return $nombre_mes;
}

function mostrar_calendario($mes,$ano){
//tomo el nombre del mes que hay que imprimir
$nombre_mes = dame_nombre_mes($mes);

//construyo la cabecera de la tabla
echo "<table background='img/calendar_fondo.gif' width=216 height=221 valign=top><tr valign=top><td valign=top>";
echo "<table height=3><tr><td></td></tr></table>";
echo "<table><tr><td></td></tr></table>";
echo "<table><tr><td></td></tr></table>";
echo "<table width=200 cellspacing=3 cellpadding=2 border=0><tr><td colspan=7 align=center class=tit>";
echo "<table width=100% cellspacing=2 cellpadding=2 border=0><tr><td style=font-size:10pt;font-weight:bold;color:white>";
//calculo el mes y ano del mes anterior
$mes_anterior = $mes - 1;
$ano_anterior = $ano;
if ($mes_anterior==0){
$ano_anterior--;
$mes_anterior=12;
}
echo "<a style=color:black;text-decoration:none href=# onclick=javascript:llamarasincrono('calendar.php?n uevo_mes=$mes_anterior&nuevo_ano=$ano_anterior','c alen')><img src='img/cal_flecha_izq.gif' border=0></a></td>";
echo "<td align=center class=tit>$nombre_mes $ano</td>";
echo "<td align=right style=font-size:10pt;font-weight:bold;color:white>";
//calculo el mes y ano del mes siguiente
$mes_siguiente = $mes + 1;
$ano_siguiente = $ano;
if ($mes_siguiente==13){
$ano_siguiente++;
$mes_siguiente=1;
}
echo "<a style=color:black;text-decoration:none href=# onclick=javascript:llamarasincrono('calendar.php?n uevo_mes=$mes_siguiente&nuevo_ano=$ano_siguiente', 'calen')><img src='img/cal_flecha_der.gif' border=0></a></td></tr></table></td></tr>";
echo ' <tr>
<td width=14% align=center class=altn>Lun</td>
<td width=14% align=center class=altn>Mar</td>
<td width=14% align=center class=altn>Mie</td>
<td width=14% align=center class=altn>Jue</td>
<td width=14% align=center class=altn>Vie</td>
<td width=14% align=center class=altn>Sab</td>
<td width=14% align=center class=altn>Dom</td>
</tr>';

//Variable para llevar la cuenta del dia actual
$dia_actual = 1;

//calculo el numero del dia de la semana del primer dia
$numero_dia = calcula_numero_dia_semana(1,$mes,$ano);
//echo "Numero del dia de demana del primer: $numero_dia <br>";

//calculo el último dia del mes
$ultimo_dia = ultimoDia($mes,$ano);

//escribo la primera fila de la semana
echo "<tr>";
for ($i=0;$i<7;$i++){
if ($i < $numero_dia){
//si el dia de la semana i es menor que el numero del primer dia de la semana no pongo nada en la celda
echo "<td ></td>";
} else {
echo "<td align=center class=ctx2 onclick=javascript:llamarasincrono('test.php?day=$ dia_actual&mon=$mes&yea=$ano&nuevo_mes=$mes&nuevo_ ano=$ano','datos') style='cursor:pointer;'>$dia_actual</td>";
$dia_actual++;
}
}
echo "</tr>";

//recorro todos los demás días hasta el final del mes
$numero_dia = 0;
while ($dia_actual <= $ultimo_dia){
//si estamos a principio de la semana escribo el <TR>
if ($numero_dia == 0)
echo "<tr>";
echo "<td align=center class=ctx2 onclick=javascript:llamarasincrono('test.php?day=$ dia_actual&mon=$mes&yea=$ano&nuevo_mes=$mes&nuevo_ ano=$ano','datos') style='cursor:pointer;'>$dia_actual</a></td>";
$dia_actual++;
$numero_dia++;
//si es el uñtimo de la semana, me pongo al principio de la semana y escribo el </tr>
if ($numero_dia == 7){
$numero_dia = 0;
echo "</tr>";
}
}

//compruebo que celdas me faltan por escribir vacias de la última semana del mes
for ($i=$numero_dia;$i<7;$i++){
echo "<td></td>";
}
echo "</tr>";
echo "</table>";
echo "</td></tr></table>";
}

?>
carlitros74 está desconectado   Responder Citando
Antiguo 07-nov-2006, 10:24   #3 (permalink)
carlitros74 ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Triste termina el codigo

test.php
<?
$conexion = mysql_connect("localhost","usuario","password");
mysql_select_db("database",$conexion);
$add ="Select * from pl_tiem limit 0,25";
$addprod = mysql_query($add,$conexion);
mysql_close($conexion);
switch ($_GET['mon']){
case 1:
$nombre_mes="Enero";
break;
case 2:
$nombre_mes="Febrero";
break;
case 3:
$nombre_mes="Marzo";
break;
case 4:
$nombre_mes="Abril";
break;
case 5:
$nombre_mes="Mayo";
break;
case 6:
$nombre_mes="Junio";
break;
case 7:
$nombre_mes="Julio";
break;
case 8:
$nombre_mes="Agosto";
break;
case 9:
$nombre_mes="Septiembre";
break;
case 10:
$nombre_mes="Octubre";
break;
case 11:
$nombre_mes="Noviembre";
break;
case 12:
$nombre_mes="Diciembre";
break;
}
?>
<html>
<body>
<table width=475 border=0 cellpadding=0 cellspacing=0>
<tr>
<td bgcolor="#F8F8F8" style='font-size:10pt;font-weight:bold;color:white'>
<? //calculo el mes y ano del mes anterior
$dia_anterior = $_GET['day']-1;
$mes_anterior = $_GET['mon'];
$ano_anterior = $_GET['yea'];
if ($dia_anterior==0){
$dia_anterior = 1;
}
if ($mes_anterior==0){
$ano_anterior--;
$mes_anterior=12;
} ?>
<a href=# onclick=javascript:llamarasincrono('test.php?day=< ? echo $dia_anterior; ?>&mon=<? echo $mes_anterior; ?>&yea=<? echo $ano_anterior; ?>&nuevo_mes=<? echo $mes_anterior; ?>&nuevo_ano=<? echo $ano_anterior; ?>','datos')><img src='img/cal_flecha_izq.gif' border=0></a></td>
<td align=center bgcolor="#F8F8F8" class="tit"><? echo $_GET['day']." de ".$nombre_mes.", ".$_GET['yea']; ?></td>
<td align=right bgcolor="#F8F8F8" style='font-size:10pt;font-weight:bold;color:white'>
<?
//calculo el mes y ano del mes siguiente
$mes_siguiente = $_GET['mon'];
$ano_siguiente = $_GET['yea'];
$dia_siguiente = $_GET['day']+1;
if ($mes_siguiente==13){
$ano_siguiente++;
$mes_siguiente=1;
} ?>
<a href=# onclick=javascript:llamarasincrono('test.php?day=< ? echo $dia_siguiente; ?>&mon=<? echo $mes_siguiente; ?>&yea=<? echo $ano_siguiente; ?>&nuevo_mes=<? echo $mes_siguiente; ?>&nuevo_ano=<? echo $ano_siguiente; ?>','datos')><img src='img/cal_flecha_der.gif' border=0></a></td>
</tr>
</table>
<TABLE WIDTH="475" BORDER="0" CELLPADDING="1" CELLSPACING="1" bgcolor="#CCCCCC" >
<TR>
<TD width="69" bgcolor="#FFFFFF" CLASS="cdr2">Time</TD>
<TD width="392" bgcolor="#FFFFFF" CLASS="cdr2">Coment</TD>
</TR>
<?
while($pr2 = mysql_fetch_array($addprod)){

?>
<TR bgcolor="#F2F9FF">
<TD width="69" CLASS="cdr2"><div align="center"><? echo $pr2['pltiem']." ".$pr2['temo']; ?>
</div></TD>
<TD width="392" CLASS="cdr2">&nbsp;</TD>
</TR>
<?
}
?>
</TABLE>
</body>
</html>
carlitros74 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 00:05.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93