PHP - ayuda con calendario ciclo for

   
Vista:

ayuda con calendario ciclo for

Publicado por patricio (2 intervenciones) el 18/10/2010 06:41:37
necesito que me ayuden con un calendario......en realidad lo tengo echo pero lo hice con un ciclo if..el codigo funciona y corre...pero tengo que hacer el mismo calendario pero con un ciclo for...ay ta mi duda como hacerlo...????????? el calendario consta de un formulario y la idea de hacerlo con el ciclo for es disminuir su extencion de codigo...no pido que me den todo el calendario exo pero si un mes por ultimo para entender el codigo y aprender como se pude haber exo...desde ya muchas gracias

<title>calendario</title>
<html>
<body>

<h1>CALENDARIO<h1>
<body bgcolor=”#00ff00” text=”#FFff00”>

<?php
$GLOBALS['var1'];
$var1=$_POST['var1'];
$GLOBALS['texto'];
$texto=$_POST['texto'];
echo "<TABLE BORDER=1 WIDTH=15%>";
if (!empty($_POST['$var1']));
{
echo "<TABLE>";
if (($var1==enero) xor ($var1==1))
{
echo
"
<caption>ENERO</caption>
<tr>
<td><big> LU </big></td>
<td><big> MA </big></td>
<td><big> MI </big></td>
<td><big> JU </big></td>
<td><big> VI </big></td>
<td><big> SA </big></td>
<td><big> DO </big></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td bgcolor=#FF0000> 1 </td>
<td> 2 </td>
<td bgcolor=#FF0000> 3 </td>
<tr>
<td> 4 </td>
<td> 5 </td>
<td> 6 </td>
<td> 7 </td>
<td> 8 </td>
<td> 9 </td>
<td bgcolor=#FF0000> 10 </td>
<tr>
<td> 11 </td>
<td> 12 </td>
<td> 13 </td>
<td> 14 </td>
<td> 15 </td>
<td> 16 </td>
<td bgcolor=#FF0000> 17 </td>
<tr>
<td> 18 </td>
<td> 19 </td>
<td> 20 </td>
<td> 21 </td>
<td> 22 </td>
<td> 23 </td>
<td bgcolor=#FF0000> 24</td>
<tr>
<td> 25 </td>
<td> 26 </td>
<td> 27 </td>
<td> 28 </td>
<td> 29 </td>
<td> 30 </td>
<td bgcolor=#FF0000> 31</td>
</tr>";
}
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:ayuda con calendario ciclo for

Publicado por rodrigo (1 intervención) el 18/10/2010 06:44:04
haber si entendi.....
quieres traspasar tu calendario exo con el ciclo if a ciclo for....?
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

RE:ayuda con calendario ciclo for

Publicado por patricio (2 intervenciones) el 18/10/2010 06:53:45
gracias por tu pronta ayuda....contestando tu pregunta si exactamente es pasar del ciclo if a ciclo for.......agrego otro dato como puse un troso de codigo con ciclo if claramente no debo hacerlo con un scripts digamos "codigo puro"
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

RE:ayuda con calendario ciclo for

Publicado por Gerardo Esquivel (22 intervenciones) el 19/10/2010 21:30:29
Antes que nada quisiera notar que if es una estructura condicional y no un <strong>ciclo</strong>, for si que es un ciclo.

Ahora bien, veo que tu código muestra el mes de enero, pero, es funcional para cualquier año?.

Tiene alguna relación un if con un for?, no, digo yo.

Entonces requieres if para realizar condiciones e if para realizar bucles.

Bueno, te pongo lo siguiente

<?php
$mess = $_GET['mess'];
$anio = $_GET['anio'];

if ($mess == "" || $anio == "") {
$anio = date("Y");
$mess = date("n");
}
$ultimo = date("t", mktime(0, 0, 0, $mess, 1, $anio));
if ($mess == '12' || $mess == '1') {
if ($mess == '12') {
$next = 1;
$prev = $mess - 1;
$anion = $anio + 1;
$aniop = $anio;
}
if ($mess == '1') {
$next = $mess + 1;
$prev = 12;
$anion = $anio;
$aniop = $anio - 1;
}
} else {
$next = $mess + 1;
$prev = $mess - 1;
$aniop = $anio;
$anion = $anio;
}
?>

<html>
<head>
<title> </title>
<script type="text/javascript">
function mesNombre($mes){
$nombre_mes= new Array("","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
document.getElementById('mestexto').innerHTML= $nombre_mes[$mes];
}
</script>
</head>
<body onload="mesNombre(<?php echo $mess; ?>);">
<form name="fcalendario" action="">
<table border="1" width="15%">
<?php
echo "<tr><th colspan=7>" . $anio . "</th></tr><tr>";
echo "<tr><td><a href='?mess=$prev&anio=$aniop'><<</a></td><td colspan=5><div id='mestexto'></div></td><td><a href='?mess=$next&anio=$anion'>>></td></tr><tr>";
echo "<tr><td>Dom</td><td>Lun</td><td>Mar</td><td>Mie</td><td>Jue</td><td>Vie</td><td>Sab</td></tr>";
$diaa = "1";
for ($diaa = 1; $diaa <= $ultimo; $diaa++) {
$dia = date("D", mktime(0, 0, 0, $mess, $diaa, $anio)); # retorna el día de la semana en letras...
$fecha = date("d", mktime(0, 0, 0, $mess, $diaa, $anio)); #retorna el día del mes en 01/31
$dia_semana = date("w", mktime(0, 0, 0, $mess, $diaa, $anio)); #retorna el día de la semana en número

if ($dia == "Sun") {
echo "</tr><tr>";
}
if ($fecha == "01") {
$i = 0;
while ($i != $dia_semana) {
echo "<td> </td>";
$i++;
}
}
echo "<td>$fecha</td>";
}
echo "</tr>";
?>

</table>
</form>

</body>
</html>

El código anterior lo he obtenido de:
http://www.forosdelweb.com/wiki/PHP:%C2%BFC%C3%B3mo_puedo_hacer_un_calendario%3F

Le hecho algunas modificaciones.

La función para obtener el mes en texto está en javascript sólo para fines pedagógicos ya que esto mismo lo podrías hacer en php para ser homogéneos.

Saludos
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