PHP - Problemas con un div

   
Vista:

Problemas con un div

Publicado por Juan (10 intervenciones) el 03/03/2010 14:33:24
Hola, tengo un div que dentro de este meto un include que es una tabla, cuyo contenido es un calendario.

El problema es que se sale del div por ejemplo cuando una misma semana tiene eventos, en caso de que no haya ningun evento no se sale. Lo he probado en una pagina sola y no da ningun problema. Te pongo el codigo del calendario:

Os pongo el codigo:

<div id="sidebar">
TEXTO
<? include ("includes/agenda.php"); ?>
</div>

AGENDA.PHP

<?php
$hostname_BD = "localhost";
$database_BD = "mitabla";
$username_BD = "root";
$password_BD = "root";
$BD = mysql_pconnect($hostname_BD, $username_BD, $password_BD) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_BD, $BD);
setlocale(LC_ALL, 'sp'); // Codificacion Local
$sel_date = isset($_REQUEST['ladata']) ? $_REQUEST['ladata'] : time();
$dias = date('t', $sel_date); // Dias que tiene el mes
$hoy = date('j', $sel_date); // Hoy (numerico) Si es 'j' → 1-31 si es 'd' → 01-31
$mes = date('m', $sel_date); // Mes actual (numerico) 'n' → 1-12 si es 'm' → 01-12
$anio = date('Y', $sel_date); // Año actual Si es 'Y' → 2007 si es 'y' → 07
$nomMes = strftime('%B', $sel_date); // El nombre del mes, en la codificacion local elejida
$t = getdate($sel_date);
$proximMes = mktime($t['hours'], $t['minutes'], $t['seconds'], $mes + 1, $t['mday'], $anio); // Mes siguiente
$anteriorMes = mktime($t['hours'], $t['minutes'], $t['seconds'], $mes - 1, $t['mday'], $anio); // Mes anterior
// Dia de la semana en que cae el dia 1 del mes actual
if (($diaset = date('w', mktime(0, 0, 0, date('m', $sel_date), 1, date('y', $sel_date)))) == 0) $diaset = 7;;
$start = false;
$sum = 0;
// Consultamos todos los registros que hay en la base de datos, de este año y este mes
$consulta = "SELECT fecha FROM agenda WHERE fecha LIKE '$anio-%' AND fecha LIKE '%-$mes-%'";
$resp = mysql_query($consulta);
$array_dias = array();
while ($dades=mysql_fetch_array($resp)) {
$unarray = explode('-', $dades['fecha']);
$diasEvent = $unarray[2];
$array_dias[] = $diasEvent;
}
echo '
<table cellpadding="0" cellspacing="0" id="calendario" align="center">
<thead><th colspan="7"> <a href="?ladata='.$anteriorMes.'" title="mes anterior">«
«
</a> '.utf8_encode($nomMes).' '.$anio.' <a href="?ladata='.$proximMes.'" title="proximo mes">»
»
</a></th></thead>
<tbody>';
echo '<tr>
<th>L</th><th>M</th><th>M</th><th>J</th><th>V</th><th>S</th><th>D</th>
</tr><tr>';
for ($i = 1; $i <= ($dias + $sum); $i++) {
// Dias de otro mes, no mostraremos nada
if (!$start) if ($i <= 7 && $i == $diaset) { $start = true; $sum = $i - 1; } else { echo '<td class="inactivo"></td>'; }

if ($start) {
if (($i - 1) % 7 == 0) echo '</tr><tr>';
if ($i == ($hoy + $sum) && ($mes == date('m')) && ($anio == date('Y')) ) {
$complet = $anio.'-'.$mes.'-'.($i - $sum ); // Fecha completa formato 2007-12-31
// Hoy
echo '
<td class="hoy">';
$consulta = "SELECT acto,fecha FROM agenda WHERE fecha='$complet' ORDER BY acto";
$resp = mysql_query($consulta);
if ($dades=mysql_fetch_array($resp)) {
echo '<p><a title="Ver evento" href="veragenda.php?fecha=' . $dades['fecha'] . '"class="aCal">' . ($i - $sum ). '</a></p>';
}else{
echo $hoy;
}
echo '</td>';
} elseif (in_array($i-$sum, $array_dias)) {
$complet = $anio.'-'.$mes.'-'.($i - $sum );
// Dia que hay algun evento
echo '<td class="evento">';
$consulta = "SELECT acto,fecha FROM agenda WHERE fecha='$complet' ORDER BY acto";
$resp = mysql_query($consulta);
if ($dades=mysql_fetch_array($resp)) {
echo '<p><a title="ver evento" href="veragenda.php?fecha=' . $dades['fecha'] . '"class="aCal">' . ($i - $sum ). '</a></p>';
}
echo '</td>';
} else {
// Dia que no hay nada
echo '
<td>
' . ($i - $sum ) .'
</td>';
}
}
}
echo '
</tr></table></div>
';
?>

CSS:

#sidebar { float: left;width: 196px; padding-left: 15px;font-family: Arial, Helvetica, sans-serif;font-size: 10px;position: absolute;}

table#calendario {border: 1px solid #000;font-size: 12px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;width: 186px;text-align: center;position: absolute;}

#calendario thead th {font-size: 12px;padding:3px;text-transform:uppercase;text-align:center;background: #f4f4f4;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;vertical-align: middle;}

#calendario thead th a {text-decoration:none;color: #000;font-size: 12px;text-align: center;vertical-align: middle;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;padding: 3px;}

#calendario thead th a:hover{font-weight:normal;text-align: center;vertical-align: middle;text-decoration: underline;color: #F00;font-size: 12px;font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;padding: 3px;}
#calendario tbody td { height:25px;font-size: 12px;text-align:center;padding:3px;vertical-align:middle;font-family: Arial, Helvetica, sans-serif;}
#calendario tbody th {font-size: 12px;width:15%;text-align:center;padding:3px;border-bottom:1px solid #CFCFCF;border-top: 1px solid #CFCFCF;font-family: Arial, Helvetica, sans-serif;vertical-align: middle;
#calendario tbody td.hoy {font-size: 12px;text-align: center;vertical-align: middle;background-color: #CCC;padding: 3px;font-family: Arial, Helvetica, sans-serif;width: 15%;height: 25px;}
#calendario tbody td.evento {font-size: 12px;text-align: center;vertical-align: middle;background-color: #F00;font-family: Arial, Helvetica, sans-serif;width: 15%;padding: 3px;height: 25px;}
#calendario tbody td:hover {font-size: 12px;text-align: center;vertical-align: middle;background-color: #999;font-family: Arial, Helvetica, sans-serif; width: 15%; height: 25px;}
#calendario tbody p {text-align: center;vertical-align: middle;}
#calendario tbody td.inactivo {background:#ececec;text-align: center;vertical-align: middle;width: 15%;}
#calendario a.aCal {text-decoration:none;color: #000;font-size: 12px;text-align: center;vertical-align: middle;font-family: Arial, Helvetica, sans-serif;}
#calendario a.aCal:hover{font-weight:bold;text-align: center;vertical-align: middle;text-decoration: underline;}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con un div

Publicado por Juan (10 intervenciones) el 03/03/2010 15:02:18
Tema solucionado, quitando los padding
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar